Kategooria Arhiiv: InfoPath 2007 // Forms Server

Kiire tulemus: Lugemine InfoPath XML otse objektile SPListItem SharePointi

Ma olen olnud tööd projekt, kus mul on vaja väljavõte manuseid InfoPathi vormi. Seal on mõned head vahendid sõelumiseks vajalikku tekstifiltrit InfoPathi vormid (mis on lihtsalt XML failid, nii on tegelikult üsna lihtne).

Kuigi ma olin hoone projekti, Hakkasin allalaadimine InfoPathi vormi ja salvestades ta oma arvuti kõvakettale. Minu c# koodi lugemine otse selle astme. Aga, InfoPathi vormide tõesti elu sees SharePoint vormiteek. Ma tegin natuke poole südamega otsimise välja selgitada, kuidas lugeda otse teegist ja peaaegu loobus, siis ma salvestada vormi kohaliku mallikataloogi ja lugeda sealt. Aga, ei ole vaja läbida need kõvadele kui võimalik lugeda otse Raamatukogu. See väike väljavõte näitab, kuidas:

/// Klassi definitsioon värk siin, sealhulgas:
erasektori SPFile'i mySharePointFile; /* Poolt SPListiga */
// Siia tuleb rohkem koodi ja selle klassi meetodiga on:
XmlTextReader TextWriterit;
TextWriterit = Uus XmlTextReader(mySharePointFile.OpenBinaryStream());

textReader.WhitespaceHandling = WhitespaceHandling.Ükski;

textReader.Read();

// Kui sõlm on väärtus

samal ajal (textReader.Read())
{

... ja nii edasi ja nii edasi...

Need peamised natuke eespool on, et saame lugeda InfoPathis otseselt kaudu ning OpenBinaryStream() meetodit kutsuda selle SPFile'i parameetrina ehitaja XmlTextReader. See töötab suurepäraselt.

</lõpp>

Telli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin

Technorati Tags:

Programmiliselt Taastan manuseid InfoPathi vormid (Sealhulgas nende nimed!)

Mul on kulu kande lahendus klienti, intensiivistab InfoPath ja töövoog. Ühel hetkel kinnitamisprotsessi ajal, Mul on vaja luua e-posti, mis on kõik head InfoPath andmete nagu manuseid, ise nii, et (Sigh) keegi võib võtta neid andmeid ja käsitsi uuesti sisestage see rakendusse Oracle andmebaasi.

See ei ole väga raske saada või sõeluda InfoPathi vorm. Ma ei teadnud, kuidas ta manused, Aga. Pärast tund või kaks poking ümber selle Internets (igavik!) Ma leidsin selle artikli: http://support.microsoft.com/kb/892730

Pakkuda mõned mugav koodi ekstrakti manuse sõlme kujul. (Pead leidma selle sõlme ja kõik, mis, Aga see on lihtsalt XML jäsennysvirhe).

Ma tean, et manus on base64-kodeeringuga ja ma algselt läks mööda teed lihtsalt kaevandavad on base64 andmete, See dekodeerimine ja salvestamist. Aga, Ma kiiresti aru, ma ei tea, kuidas saada ise failinime, kuni ma leidsin eespool nimetatud artikli.

Mul oli tegelikult leitud mis üsna varakult, Aga mul oli pannud oma kahestumine. Ühest küljest, Artikkel * ütleb * on hea InfoPath 2007. Veel, kood ja juhised on kõik umbes Visual Studio 2003 Kui InfoPath viiteid 2003.

Alumine rida, kõnealuses artiklis sätestatud kood töötab hästi minu jaoks (siiani). Ma saan minu InfoPathi vorm, Võimalik sõeluda, Võin leida ja dekodeerida manus ja ma tean oma nime. Mida rohkem saab üks elu küsida?

</lõpp>

Telli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin

Technorati Tags: ,,

Kui te olete mures, et teie SharePointi keskkond võib tad ebatervislik, Lubage mul teile kinnitada, et abi koos korrasoleku kontrolliga.

Kinnitusegrupi InfoPathi keskkonnas FBA haldamine

Mul on kulude kinnitamise protsessi, et mul on vaja rakendada InfoPathis vormipõhine autentimine (FBA) vormide teenuseid kasutavate keskkonna (veebipõhine InfoPathi).

Seal on kaks kinnitusegruppe ja protsess toimib niimoodi:

  • Kasutaja täidab kulude aruande ja esitab selle kinnitamiseks.
  • Mis käivitab esimese taseme kinnitaja rühm e.
  • Esimese tasandi kinnitaja Arvustused ja kiidab heaks või eitab aruanne.
  • Kui esimese taseme isik selle kinnitab, Süsteem teavitab teise tasandi kinnitaja.

InfoPathi pool asjad, Mul on erinevad lahtrid, et peita/kuvada põhineb kas kasutaja on liikmeks üks neist kinnitusegruppe.

FBA keskkonnas kasutajanime() funktsioon tagastab alati tühi, Kahjuks. Mida ma olen teinud seadistatakse on kohandatud loendi nimega "Kinnitusegruppidesse".

Ära lisa kõik täiendavad veerud loendisse.

Kuna vormi avab, See on selline reegel:

image

"Määrata välja väärtuse" on siin:

image

See on põhimõtteliselt ütleb: Otsides mõnda päringut päring heakskiidu rühma kohandatud loendi ja filtri reas kui pealkiri 's väärtus = "NORDIC".

Kui see tagastab kõik väärtus, seejärel kasutaja on selle rühma liige. Ma tean, et see sisaldab väärtust, sest stringi pikkus on suurem kui null.

Üksikute üksuste loendis Kinnitusegrupp kindlustades head eeskuju. Käitusaja kell, Kui praegune kasutaja pole turvapääsu asjakohase üksuse seejärel päring ei tagasta, stringi pikkus on null ja nüüd sa tead, et praegune kasutaja pole selle rühma osa. Kasutage seda fakti vastavalt vajadusele vormi.

See on super lühidalt kirjutada-up. Ma olen ajanappuses või ma annaks üksikasjalikumalt.

Ma ei tea, kuidas asjaomaste on, et ma olen FBA keskkond. See oleks ilmselt tööd hästi-FBA keskkonnas, kuid võin ette kujutada, kui see on kasulik juhtudel.

</lõpp>

Telli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin

Technorati Tags: ,

InfoPath // Üks seletus "käsitlematu erand teisendamisel vormi System.Xml.XmlException: Ootamatu faili lõpp nime sõelumisel ilmnes. “

Töötas InfPath vorm eile ja kaitsega vana sõber, "Käsitlematu erand teisendamisel vormi System.Xml.XmlException: Ootamatu faili lõpp nime sõelumisel ilmnes."

See juhtus minuga juba ammu ja ma ei tea, mida täpselt ma tegin seda lahendada. Ausalt, Ma arvan, et ma uue projekti üleminekul ja ei näinud selles üks lahendatud (minu asendused pidanud tegelema selle peavalu). Ma mäletan, see oli Saatan probleem. Veetsin mitu ebaõnnestunud päeva nendega tegelemiseks. Alates sellest ajast, Olen näinud seda tulevad MSDN-i foorumites vähemalt üks kord viimase aasta jooksul ja kunagi nägin seda vastust.

Ma tabas ta täna ja Õnneks seekord , Ma lihtsalt teinud muutuse vorm. Läksin läbi nimevahetuse ja probleem läksid ära. Selgub, et on võimalik luua ka mallist InfoPath Designeri abil nii, et see tekitab sõelumise tõrge forms server pool tara.

Minu puhul, probleem oli põhjustatud järgmiselt.:

  1. Lisage uus element andmeallikaga tekstiväli.
  2. Langemiskõrgus onto vorm.
  3. See on ekraani ripploendi muutmine.
  4. Ütle rippmenüüst tõmmake oma SharePointi kohandatud loendi väärtused.

Ma ei tea, kui need sammud probleemi põhjustada või äkki, kuidagi loendi, iseenesest on probleem. Ma lähen katse natuke ja vaata, kui ma nail downt he parameetrid seda rohkem.

</lõpp>

Telli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin

Technorati Tags:

Embed Developer märgib sees InfoPathi vormid

Ma olen ikka elu InfoPathi vorme maailmas ja mul oli vaja teha üks "väike" muudatuste vormi mis, Kahjuks, Ma vastu võetud kahe nädala tagasi nimereeglistik murrab. Ma arvasin, et mina, "keegi saab vaadata seda asja aastas nüüd ja öelda, "Mis oli Paul mõtlemine? Poolt Jove, tema nimetamistava ei ole mõtet!”

Ma mõistsin, et ma võiks luua vaate vormi selle ja siis, Veelkord, sain aru, et ma oleks võinud seda midagi sellist kogu aeg. Lisasin "Developer märgib" vaade InfoPathi vormi sellisena:

image

Olete konfigureerinud selle vormi nii, et kasutajad ei saa seda seisukohta ja seetõttu, See kuvatakse ainult kujundusvaates InfoPathi kliendiga. Nüüd ma tunnen vähe inokuleeritud mõned tulevaste tundmatu arendaja minu vorm ja mõtlesin halbu mõtteid mulle vaatab vastu. Phew!

</lõpp>

Telli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin

Technorati Tags:

InfoPathi vaadete haldamine

Mulle tundub, et läbida InfoPathi faasi kus, taevast, Ma olen käsitöö hunnikut vormide. Mu sõrmed õppida, kuidas kasutada tööriista hästi ja siis minna läbi üheksa kuu põuda ja peame õppima seda kõike uuesti.

Ma olen keset InfoPathi etapp ja ma koostan InfoPathi vormide palju vaatamist. Üks asi, mida sa ilmselt märgata, on see, et InfoPathi 2007 klient näitab seisukohad tähestikulises järjekorras. See on tõeline ebameeldivalt mõned ajad. Minu parim meetod nendel päevadel on prepend mitmete vaate nimi, et nad alati näidata soovitud järjekorda, nagu siin:

image

Ma soovin, et mul oli seda teinud juba kogu aeg.

</lõpp>

Telli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin

Technorati Tags:

InfoPathi vormi ripplae, Vormide põhinev autentimine (FBA) ja kordumatu failinimed

Ma olen olnud mõned InfoPathi vorme sel nädalal MOSS FBA keskkonnas töötavad ja õpitud, kui ma läksin kasutada tootmise keskkond, kus on FBA vormid tsooni et kasutajanimi() funktsiooni funktsioon ei tööta. Olin seda kasutada luua unikaalne failinimed.

Hästi, See funktsioon ei tööta FBA keskkonnas (vähemalt, ole karbist). Ja, pärast järelemõtlemisaega, kasutades kasutajanimi oli kavas viis ei oleks taganud kordumatut failinime või mingil.

Minu lahendus oli nüüd kasutada() funktsiooni ja reegel, mis tulekahjud vormi laadimine. Ma määrata failinime andmeelemendi kui on tühi:

image

image

Selle lähenemise eeliseks on, et failinime paneks ainult üks kord. (Ära kuva ekraanipilt, Aga pane tingimus reegel ainult tulekahju, kui "myFilename" on tühi). Ma kasutasin määrata failinime tasandil andmete allikas. Tavaliselt, Ma teeksin midagi (Paha) Nagu see:

image

Mis probleem on, et kui kasutaja A vormi avab esmaspäeval ja kasutaja B muudab teisipäeval, te saate lõpuks koos kahel erineval kujul pärast kahe eri kasutaja salvestamist koos erinevate kasutajanimede.

Nii, nagu tüütu nagu FBA võib üldiselt ja InfoPath eelkõige, See pani mind ümber mõtlema, väike, kuid väga olulisi tehnilisi üksikasju ja lähenemine, mis ei oleks teinud teisiti!

</lõpp>

Telli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin

Technorati Tags:

Kiire ja lihtne: Muuta InfoPathi vormi kirjutuskaitstud (InfoPathi vormid teenuste MOSS)

Ei ole sellist äri stsenaarium:

  • Kasutaja täidab InfoPathi vormi.
  • Esitab vormi.
  • Kaua kestnud Töövooprotsessi algab.
  • Töövoo töötamise ajal, Me ei taha kedagi muuta vormi sisu.

Näites office.microsoft.com kirjeldab, kuidas luua eraldi "vaade" ning märkida kogu vaate kirjutuskaitstud. See on toimiv lähenemine, kuid on tõhusalt loonud kaks kogu versiooni sama vormi ja peab nüüd hoida neid sünkroonis käsitsi puudus. Kui lisate välja muudetav vaade, tuleb siis lisada see mitteredigeeritav seisukohta ka. Aja jooksul, koos erinevate arendajate, ei saa olla mõned erinevused.

Selle alternatiivi võiksid paremini mõnel juhul:

  • Lisa uus väli vormi nimetatakse "IsEditable".
  • Seadke vaikeväärtus tõene.
  • Propageerida seda kui SAMMAL Kirjastus.
  • Töövoo, esitatud IsEditble väärtus false.
  • Mine tagasi vormile.
  • Lisada reegli, et "avatud vormi", Keela oma salvestusnuppu, kui IsEditable on vale.

Selle lähenemise puuduseks on, et kõik väljad ikkagi redigeeritav ekraani. Kasutaja pääseb vale mulje, et nad tegelikult muuta sisu. Mis paneb osa teksti vormis on keelatud leevendamiseks, võimalik, et suur punaste tähtedega üle lehekülje ülaosa.

Ühe projekti raames, Olen loonud "töövoo olek" Vaade. Kui töövoog edenes, See oleks olnud edendada vormilt eristaatust väljade värskendamine. Kasutaja vormi avamisel, "Ava vorm" reegli automaatselt lülitada ümber vaade ja kasutaja oli kena väike kokkuvõtlik olek.

</lõpp>

Telli minu blogi.

Vaheta vaadet vaade InfoPathi vormis kasutaja ID-l põhinev

Meil oli ka arenenud InfoPathi vormi mitme vaatega toetada uusi rendi / kohta mahajätmise protsess. Kuna firma palkab uue isiku, IT-osakond ja muud rühmad on vaja võtta meetmeid (Saate seadistada palgaarvestuse, Luba juurdepääs asjakohased taotlused, Leidke kirjutuslaud, jne). Me kasutame vormi, kuid erineva vaate vormi kõigi funktsioonide täitmiseks.

Selles firmas, Enamik äri protsessi kaasatud inimeste on IT-savvy, nii et kui nad vormi avada, nende vaikevaade on "menüü" Vaata nuppe, et suunata neid oma spetsiifilist funktsiooni. Aga, Meil oli vaja lihtsustada asju uue rendi otsene juht. See inimene ei näeks mõni IT seotud kraami. Tegelikult, ta peaks näha vaid ühe vaate vormi ja isegi on võimalus näha teiste seisukohad.

Antud juhul, mis otsese juhi konto on seotud otseselt kättesaadavaks teinud vorm on pöörduge valijat (mida ma alati tahavad helistada "inimestesse valija" mingil põhjusel).

Sammud on järgmised:

1. Kujundusrežiimis, Klõpsake tööriistad-> Vormi Valikud-> Avamine ja salvestamine.

2. Valige "reeglid".

3. Loo uus reegel, mille tegevus on "lüliti vaatamine" ja kelle olukord intensiivistab kasutajanimi() funktsioon.

Kasutajanimi() annab vastuseks lihtsa"" ilma domeeni kasutajanimi. Kui ma logivad SharePointi mandaadi "domainpagalvin", Kasutajanimi() Tagastab "pagalvin".

Kontakti valija annab kolm bitti informatsiooni kontakti. "AccountID" osa on kõige kasulikum selle stsenaariumi. Ainuke asi, mis teeb selle isegi natuke väljakutse on, et kontakt valijat (minu keskkonnas Igatahes) Tagastab domeeninime ja kasutaja ID, nagu "domainpagalvin". See takistab meid tegemast sirgjooneliselt võrdsuse tingimus alates AccountID ("domainpagalvin") ei ole kunagi võrdsed kasutajanime() ("pagalvin").

Vaatamisväärsuse selle abil saame ka "sisaldab" operaator: AccountID sisaldab kasutajanime().

Me saame seda edasi ja pre-pend püsiprogrammeeritud domeeni kasutajanimi ees() funktsiooni saada meie võrdõiguslikkuse vaadata ja kõrvaldada valepositiivseid riski kohta ning sisaldab.

Meil oleks tõesti nagu automaatne vahetamine vaade teistele kasutajatele põhineb nende reklaami turvarühma liikmestaatusest. Näiteks, Kui liige on "ta analüütika" rühma pääseb juurde vormi, IT Analytics saate automaatselt aktiveerida. Polnud meil aega selle rakendamiseks, Aga minu esimene mõte on luua veebipõhine teenus, mis oleks nagu "IsMemberOfActiveDirectorySecurityGroup" meetod, edastada see kasutajanimi() ja tagasi tagasi true või false. Kas kellelgi on mõni muu, rohkem tark mõte? On olemas igal SharePointi funktsioon me saate kasutada InfoPathi otsustamist teha?

</lõpp>

Technorati Tags: