Sem napisal članek za SharePointBriefing.com in so jo pripravljeni živeti danes.
Tukaj je dražljivko:
</namen>
Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin
Sem napisal članek za SharePointBriefing.com in so jo pripravljeni živeti danes.
Tukaj je dražljivko:
</namen>
Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin
Sem bil ki dela na projektu, ki kje moram ekstrakt priključki iz InfoPathovega obrazca. Obstaja nekaj dobrih sredstva za razčlenjevanju InfoPathove obrazce (ki so samo datoteke XML, tako je pravzaprav zelo enostavno).
Medtem ko sem bil izgradnjo projekta, Sem začel s prenosom InfoPathov obrazec in shranite v svoj lokalni trdi disk. Svoj c# kodo bral neposredno s to primerž prošnja. Vendar, InfoPathovi obrazci so res živijo v knjižnici obrazcev SharePoint. Sem storil malo pol srca iskati, da ugotovite, kako čitati to neposredno iz knjižnice in skoraj obupal, v tem primeru bi shranili obrazec v a tukajšnji čud naslovnik in prebrati od tam. Vendar, ni treba iti skozi te obroče, kot ste lahko prebrali neposredno iz knjižnice. Ta mali odlomek kaže, kako:
/// Razred opredelitev stvari tukaj, vključno z:
zasebno SPFile mySharePointFile; /* Del SPList */ // Več koda gre tukaj in znotraj metoda razreda imamo: textReader = nove XmlTextReader(mySharePointFile.OpenBinaryStream()); textReader.WhitespaceHandling = WhitespaceHandling.Nobena; textReader.Read(); // Če je vozlišče ima vrednost medtem ko (textReader.Read()) { |
So ključni košček zgoraj je, da lahko beremo InfoPath neposredno prek na OpenBinaryStream() metoda klic na SPFile kot parameter gradbenik na XmlTextReader. To tovarna velik.
</namen>
Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin
Imam raztopino vnos odhodkov za stranko, ki dopolnjuje InfoPath in potek dela. Na eni točki v postopku odobritve, Moram ustvariti e-pošto, ki ima vse to dobro InfoPath kot priloge, sami tako, da (vzdih) lahko nekdo to podatki in ročno ponovno zakleniti to aplikacijo zbirke podatkov Oracle.
To ni zelo težko priti v ali razčleniti InfoPathov obrazec. Nisem vedel, kako ravnati s prilogami, vendar. Po uro ali dve poking okoli Internets (večnost!) Našel sem ta članek: http://support.microsoft.com/kb/892730
Zagotoviti nekaj priročen kode za pritrditev izvleček vozlišča v obliki. (Vi še vedno potreba najti vozlišče in vse to, ampak to je samo Razčlenjevanju).
Vem, da je Priloga base64 kodirane in prvotno sem šel po poti pridobivanja samo v base64 podatkov, dekodiranje je in ga shranite. Vendar, Hitro sem spoznala, nisem vedel kako priti samega imena datoteke, do sem našel člen.
Sem imel dejansko ugotovila, da precej zgodaj, vendar sem odlasati z njeno razcepljena osebnost. Na eni strani, člen * pravi * je dobro za InfoPath 2007. Še, kodo in navodila so vse o Visual Studio 2003 in reference za InfoPath 2003.
Bottom line, šifro, ta člen, če deluje dobro za mene (doslej). Lahko dobim moj InfoPathov obrazec, Lahko razčleniti to, Lahko odkriti in dešifrirati Prilogo in vem, da svoje ime. Kaj več lahko zahteva od eno življenje?
</namen>
Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin
Če vas skrbi, da lahko vašem okolju SharePoint tad nezdravo, pustiti mi pomoč vi pritrditi to s svojim zdravstvenim stanjem.
Imam stroške postopek odobritve, da moram izvajati z InfoPathom v preverjanje pristnosti obrazcev, ki temeljijo (FBA) okolja z uporabo oblikam storitve (ujeti osnova InfoPath).
Obstajata dve skupini odobritev in postopek deluje takole:
Na strani InfoPath stvari, Imam različne odseke, da skriti/pokazati se ali uporabnik je član ene od teh odobritev skupine na osnovi.
V okolju FBA uporabniško ime() Funkcija vedno vrne prazno, na žalost. Kaj sem naredil nastavljena na seznam po meri imenovano "Odobritev skupine".
Ne dodajajte kakršne koli dodatne stolpce na seznam.
Ko se obrazec odpira, To je praviloma takole:
»Nastavite vrednost polja« je tukaj:
To je v bistvu rekel: Poizvedba po meri seznam odobritev skupine in filter, poizvedujejo z ki je videti za vsako vrstico kje naslov vrednost = "NORDIC".
Če se vrne vse vrednosti, nato je trenutni uporabnik je član te skupine. Vem, da vsebuje vrednosti, ker je dolžina niza, ki je večja od nič.
Skleni krog z zagotavljanjem posameznih elementov na seznamu odobritev skupine. Pri zagonu, Če trenutni uporabnik nima ustreznih varnostnih dostop tega elementa nato poizvedbo ne vrne, dolžina niza bo nič in zdaj veste trenutnega uporabnika ni del te skupine. Lahko uporabite to dejstvo, kot je potrebno v obliki.
To je super kratko napisati-up. Jaz sem čas za pritiske ali bi zagotovila več podrobnosti.
Ne vem, kako pomembno je, da sem v okolju FBA. To bi verjetno dela tudi v okolju FBA, vendar morem predstavljati primerov, kjer bi bilo koristno.
</namen>
Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin
Delala na vrednosti InfPath obliki danes in tekel proti stari prijatelj, "Izpustiti iz rok izjema pri upodabljanju obrazec System.Xml.XmlException: Nepričakovan konec datoteke med razčlenjevanjem ime prišlo. «
To se mi je zgodilo že davno in ne vem, kaj točno sem jo odpraviti. Pošteno, Mislim, da je bil prehod na nov projekt in nikoli videl tale rešiti (moj zamenjave moral obravnavati to glavobol). Se spomnim, da je hudič problem. Sem preživel več neuspešnih dni, ki se ukvarjajo s to. Od takrat, Videl sem to prišel na MSDN forumih vsaj enkrat v zadnjem letu in nikoli zares videl odgovor za to.
Zadel sem ga danes in na srečo tokrat , Je pravkar posnel spremembe v obliki. Sem podprto, da spremembe in problem odšel. Izkazalo se je, da je mogoče tvoriti a iz predloge s programom InfoPath Designer tako, da ustvarja Razčlenitvena napaka na strani strežnika oblike ograje.
V mojem primeru, naloga je vzrok z korakom:
Ne vem, če oni lestev povzročajo težave ali morda, nekako podatki na seznamu, sam je problem. Bom malo eksperimentirate in videli, če sem lahko nohtov downt parametrov je to s poljuben več podrobnost.
</namen>
Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin
Jaz sem še vedno živi v svetu InfoPathove obrazce in sem potreboval, da bi tiste "majhne" spremembe v obrazec ki, na žalost, odmori poimenovanja sem sprejel z njim pred dvema tednoma. Pomislil sem, "nekdo gre gledati to stvar na leto od sedaj in reči, "Kaj razmišljala Paul? Z Jove, Njegova poimenovanja nima smisla!”
Sem spoznal, da lahko ustvarite pogled na obrazcu za to in nato, še enkrat, spoznal, da sem lahko delal kaj takega vse skupaj. Sem dodal "Razvijalec opombe" pogled v InfoPathov obrazec, tako:
Konfiguriral sem obrazec tako, da uporabniki ne morejo dobiti pogled in zato, je le vidna s stranko InfoPath v pogledu načrta. Zdaj se počutim malo inokulirane proti nekaj prihodnjih neznano razvijalec gledaš svoj obrazec in razmišljanje slabe misli o meni. Fuj!
</namen>
Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin
Zdi, da gredo skozi faze InfoPath kjer, v modrem, Sem obdelujete kup obrazcev. Moji prsti Naučite se uporabljati orodje dobro in potem sem iti skozi devet mesec suše in morali naučiti vsega spet.
Jaz sem v sredini InfoPath fazo in sem ustvarjanje obrazcev programa InfoPath z veliko ogledov. Ena stvar, ki ste verjetno opazili, je, da je InfoPath 2007 varovanec razstava ogledov po abecednem vrstnem redu. To je resnično nadloga nekaj krat. Moj najboljši tehnika teh dneh je spredaj dodajte znak število ime pogleda, tako da vedno kažejo v želenem vrstnem redu, kot je prikazano tukaj:
Želim, da sem bil početje to vse skupaj.
</namen>
Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin
Sem bil delajo na nekaj InfoPathove obrazce ta teden v MOSS v okolju FBA in učen, ko sem šel v razviti oblike v produkcijskem okolju z je FBA cone ki uporabniško ime() funkcija ne deluje. Bil sem jo uporabi za ustvarjanje edinstvene imenih.
Dobro, Ta funkcija ne deluje v okolju FBA (vsaj, ne iz škatle). In, po razmislek, z uporabo uporabniškega imena na način, ki je načrtovano ne bi zajamčili enoličnega imena datoteke v vsakem primeru.
Moja rešitev je bila uporabiti zdaj() Funkcija in pravilo, da požari na nalaganje obrazca. Sem dodeli ime datoteke podatkovni element, ko je prazen:
Prednost tega pristopa je, da je ime datoteke nastavite samo enkrat. (Ne pokažejo v zaslon strel, ampak pogoj obleči pravilo, da samo ogenj, ko "myFilename" je prazno). Sem rabil, da nastavite ime datoteke na ravni vir podatkov. Običajno, Bi naredil nekaj (slabo) všeč mi je:
Problem s tem je, da če uporabnik A odpre obrazec v ponedeljek in uporabnik B se spremeni v torek, boste na koncu z dveh različnih oblikah saj dveh različnih uporabnikov, ki jo shranili z različnih uporabniških imen.
Tako, kot siten kot FBA lahko na splošno in z InfoPathom zlasti, To me je ponovno pretehtati majhen, vendar zelo pomembnih tehničnih podrobnosti in pristop, ki ne bi storil drugače!
</namen>
Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin
Obstaja skupno poslovno scenarij takole:
V tem primeru office.microsoft.com Opisuje, kako ustvariti ločen pogled«" in označite celoten pogled samo za branje. To je izvedljiv pristop, vendar je pomanjkljivost, da dejansko ustvarili dve različici celotno enake oblike in je zdaj njihovo stalno sinhroniziranje ročno. Če dodate polje v editable pogled, morate nato dodati v pogled, tudi ni mogoče urejati. Sčasoma, z različnimi razvijalci, lahko pride do nekaterih razhajanj.
Ta možnost bi lahko delovala bolje v nekaterih primerih:
Pomanjkljivost tega pristopa je, da vsa polja bo še vedno mogoče urejati na zaslonu. Uporabnik moči zaslužiti a napačen vtis, da lahko dejansko spremembo vsebine. Ki lahko zmanjšate tako, da nekaj besedila, da obrazec je onemogočen, verjetno velik rdečimi črkami na vrhu strani.
V enem projektu, Ustvarili ste a »stanje poteka dela" pogled. Kot potek dela napredovala, To bi posodobiti polja poseben status, ki je napredoval iz obrazca. Ko uporabnik odpre obrazec, »odprt obrazec" pravilo samodejno preklopi na da pogled in uporabnik imel lepo malo povzetka stanja.
</namen>
Smo imeli na razvitih InfoPathovega obrazca z več pogledi opreti nov najem / za vkrcanje postopek. Ko podjetje najame novo osebo, IT oddelek in druge skupine je treba ukrepati (nastavite na izplačane plače, omogoči dostop do ustreznih aplikacij, poiščite mizo, itd). Uporabljamo na obrazec, vendar drug pogled obrazca za vsako od teh funkcij.
V tej družbi, Večina ljudi, vključenih v poslovni proces ste IT zdrava pamet, Torej, ko bodo dostop do obrazca, svoj privzeti pogled je meni"" Poglej si z gumbi, ki jih neposredno na svoje specifične funkcije. Vendar, smo potrebovali, da poenostavitev stvari za nov najem neposredno nadrejeni. Ta oseba se je povezana stvari. v bistvu, ona bi videli le en pogled obrazca in niti ne imeti možnost videti druge poglede.
V našem primeru, ki neposredno račun upravitelja neposredno vezana na obrazec, courtesy of a obrnite izbirnik (ki sem vedno želela poklicati ljudi picker"" iz neznanega razloga).
Koraki so naslednji:
1. V načinu načrtovanja, iti k rokodelsko orodje-> Možnosti obrazca-> Odpiranje in shranjevanje.
2. Izberite "pravila".
3. Ustvarite novo pravilo, katere delovanje je "udarec s šibo za ogled" in katerega stanje dopolnjuje uporabniško ime() Funkcija.
uporabniško ime() Vrne preprostih"" uporabniško ime brez domene. Če sem se v SharePoint prijavijo s poverilnicami "domainpagalvin", uporabniško ime() Vrne "pagalvin".
Kontaktne selektor ponuja tri bitov informacij za stik. "AccountID" del je najbolj koristen za ta scenarij. Edina stvar, ki naredi to tudi malo izziv je, da kontaktne selektor (v mojem okolju nekako) Vrne ID domeno in uporabniško, kot v "domainpagalvin". To nam onemogoča početje naravnost naprej enakosti pogoj od AccountID ("domainpagalvin") nikoli ne bo enako uporabniško ime() ("pagalvin").
Mi moči zaslužiti okrog to z uporabo v "vsebuje" upravljavec: AccountID vsebuje uporabniško ime().
Lahko vzamemo še in pre-pend programiranih domene pred uporabniško ime() Funkcija za naše ček enakosti in odpravi tveganje za lažno pozitiven na je vsebuje operaterja.
Mi bi morali res kot samodejno preklopi pogled za druge uporabnike, ki temelji na članstvu AD varnostne skupine. Na primer, Ko član "to analitika" skupina ima dostop do obrazca, samodejno preklopi v pogled IT Analytics. Nismo imeli časa za njeno izvajanje, ampak moja prva misel je, da ustvarite spletno storitev, ki bi metoda kot "IsMemberOfActiveDirectorySecurityGroup", ga posreduje uporabniško ime() in se vrniti nazaj drži ali ne drži. Does kdorkoli življati poljuben drugi, več pametna ideja? Ali obstaja SharePoint funkcijo lahko finančni vzvod iz InfoPatha za to odločitev?
</namen>