Mi skribis artikolon por SharePointBriefing.Com Kaj ili metis ĝin supre vivi hodiaŭ.
Ĉi tie-a teaser:
</Fino>
Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin
Mi skribis artikolon por SharePointBriefing.Com Kaj ili metis ĝin supre vivi hodiaŭ.
Ĉi tie-a teaser:
</Fino>
Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin
Mi estas estita laboranta sur projekto kie mi devas eltiri alligitaĵojn de InfoPath formo. Estas kelkaj bonaj rimedoj por analizanta InfoPath formoj (Kiu estas nuraj XMLaj dosieroj, Do ĝi estas efektive tre facile).
Dum mi estis konstruanta supre la projekto, Mi komencis de elŝutanta InfoPath formo kaj savanta ĝin al mia loka malfacila stirado. Mia c# kodo estis leganta rekte de tiu okazo. Tamen, La InfoPath formoj estas vere vivaj en SharePoint forma biblioteko. Mi faris malgrandan duona hearted serĉanta trovi ekstere kiel legi ĝin rekte de la biblioteko kaj preskaŭ lasis, En kiu kazo mi estus savinta la formon al loka temp adresaro kaj legita ĝin de tie. Tamen, Tie estas neniu bezono iri tra tiuj ringoj kiel vi povas legi ĝin rekte de la biblioteko. Ĉi tiuj malgrandaj eretaj rezultoj kiel:
/// Klasa difino #a?o #?i tie, Inkluzivanta:
Privata SPFile MySharePointFile; /* Parto de SPList */ // Pli da kodo iras #?i tie kaj en metodo de la klaso ni havas: TextReader = Nova XmlTextReader(MySharePointFile.OpenBinaryStream()); TextReader.WhitespaceHandling = WhitespaceHandling.Neniu; TextReader.Legita(); // Se la nodo havas valoron Dum (TextReader.Legita()) { |
Ili kerna mordis sur estas ke ni povas legi la InfoPath rekte tra la OpenBinaryStream() Metoda voko sur la SPFile kiel parametro al la constructor sur XmlTextReader. Ĝi laboras grandan.
</Fino>
Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin
Mi havas elspezan eniran solvon por kliento kiu ekspluatas InfoPath kaj workflow. Ĉe unu punkto dum la aproba procezo, Mi devas produkti retpoŝton kiu havas ĉiujn de tiu bona InfoPath datumo tiel kiel la alligitaĵoj si mem por ke (Suspiro) Iu povas preni tiun datumon kaj mane re-kerna ?i en Oracle datumara apliko.
Ĝi ne estas tre malfacila akiri ĉe aŭ analizi la InfoPath formo. Mi ne sciis kiel pritrakti la alligitaĵojn, Tamen. Post kiam horo aŭ du el enŝovanta ĉirkaŭ la Interretoj (Eterneco!) Mi trovis #?i tiu artikolon: http://support.microsoft.com/kb/892730
Ĝi provizas iun oportunan kodon eltiri la alligitaĵon de nodo en la formo. (Vi kvieta bezono trovi la nodon kaj #?iu tio, Sed tio?? Nura XML analizanta).
Mi scias ke la alligitaĵo estas base64-kodita kaj mi originale iris malsupren la vojo de nura eltiranta la la base64 datumo, Malkodanta ĝin kaj savanta ĝin. Tamen, Mi rapide konsciis min ne sciis kiel akiri la dosieron nomas ĝin mem ĝis mi trovis la aforementioned artikolo.
Mi efektive trovis ke tre frue, Sed mi estis metita de de ĝia fenda famulo. Unuflanke, La artikolo diras* ĝin estas bona por InfoPath 2007. Ankoraŭ, La kodo kaj instruoj estas ĉiuj pri Vida Studio 2003 Kaj referencoj al InfoPath 2003.
Malsupra linio, La kodo ke artikolo se estas laboranta puton por mi (Tiel ege). Mi povas akiri mia InfoPath formo, Mi povas analizi ĝin, Mi povas trovi kaj malkodi la alligitaĵon kaj min scias ĝian nomon. Kio pli povas unu demandas de onia vivo?
</Fino>
Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin
Se vi estas maltrankvilita ke via SharePoint medio povas esti tad nesana, Lasi min helpi vin ripari tion Kun sana kontrolo.
Mi havas elspezan aproban procezon ke mi devas efektivigi uzanta InfoPath en formoj bazita authentication (FBA) Medio uzanta formajn servojn (Araneaĵo bazis InfoPath).
Estas du aprobaj grupoj kaj la procezo laboras tiel:
Sur la InfoPath flanko de aferoj, Mi havas malsamajn sekciojn ke felo/aperas bazita sur ĉu la uzanto estas membro de unu el tiuj aprobaj grupoj.
En FBAa medio la salutnomo() Funkcii ĉiam revenas malplenan, Bedaŭrinde. Kio mi faris estas instalita laŭmendan liston vokis “Aprobajn Grupojn”.
Mi ne aldonas ajnajn suplementajn kolumnojn al la listo.
Kiam la formo malfermas supre, Ĝi havas regulon tiel:
La “fiksita la valoron de kampo” estas ĉi tie:
Tio ĉi estas resume diranta: Pridemandi la aprobon grupigas laŭmendan liston kaj filtrilon ke demando de serĉanta ajnan disputon kie la valoro de Titolo = “NORDIC”.
Se kiu revenas ajnan valoron, Tiam la nuna uzanto estas membro de tiu grupo. Mi scias ĝin enhavas ke valoro ĉar la ŝnura longeco estas pli granda ol nulo.
Fermi la maŝon de sekuriganta la individuajn erojn en la Aproba Grupa listo. Ĉe kuro-tempo, Se la nuna uzanto ne havas konvenan sekurecan aliron al tiu ero tiam la demando ne revenos ĝin, Ŝnuro-longeco estos nulo kaj nun vi scias la nunan uzanton ne estas forlasi de tiu grupo. Vi povas uzi tiun fakton kiel devita en la formo.
Tio ĉi estas ekstra raporto skribas-supre. Mi estas premita por tempo aŭ mi provizus pli da detalo.
Mi ne scias kiom rilatan ĝi estas ke mi estas en FBAa medio. Tio ĉi verŝajne laborus puton en ne-FBAa medio sed mi povas imagi kazojn kie tio ĉi estus utila.
</Fino>
Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin
Mi estis laboranta sur InfPath formo hodiaŭ kaj kuris supre kontraŭ malnova amiko, “Unhandled escepto kiam faranta forman Sistemon.Xml.XmlException: Neatendita fino de dosiero dum analizanta Nomon okazis.”
Tio ĉi okazis al mi longa tempo antaŭe kaj mi ne scias kion ĝuste mi faris solvi ĝin. Honeste, Mi pensas ke mi estis transitioning al nova projekto kaj neniam vidis ĉi tiu unu solvita (Miaj anstataŭaĵoj devis trakti tiun kapdoloron). Mi ja memoras ĝin estis diablo de problemo. Mi elspezis plurajn sensukcesajn tagojn traktanta ĝin. Pro tio ke tiam, Mi vidis tion ĉi venas supre sur MSDNaj forumoj almenaŭ unufoje super la lasta jaro kaj neniam vere vidis respondon por ĝi.
Mi frapis ĝin hodiaŭ kaj bonŝance ĉi tiu tempo , Mi nur faris ŝanĝon al la formo. Mi eltiriĝis ke ŝanĝo kaj la problemo iris for. Ĝi rezultas ke ĝi estas ebla krei de ŝablono uzanta InfoPath Designer en tia vojo ke ĝi produktas analizi eraron sur la forma servila flanko de la barilo.
En mia kazo, La problemo estis kaŭzita de ĉi tiuj paŝoj:
Mi ne scias se tiuj paŝoj kaŭzas problemon aŭ eble, Iel la datumo en la listo ĝi mem estas problemo. Mi estas iranta eksperimenti iom kaj vidi se mi povas najli downt li parametroj de tio ĉi kun plu detalo.
</Fino>
Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin
Mi estas ankoraŭ vivanta en InfoPath Formas mondan kaj mi devis fari unu el tiuj “malgrandaj” ŝanĝoj al formo kiu, Bedaŭrinde, Rompas nomantan kongreson mi adoptis kun ĝi du semajnoj antaŭe. Mi pensis al mi mem, “Iu estas iranta rigardi ĉi tiun aferon jaro de nun kaj diri, ‘Kio estis Paul pensado? De Jove, Lia nomanta kongreson faras neniun senton!”
Mi konsciis ke mi povus krei vidon sur la formo por #tio ?i kaj tiam, Ankoraŭ foje, Konsciita ke mi povis esti faranta ion tiel ekde la komenco. Mi aldonis “Ellaborantajn Notojn” vidas al la InfoPath formo kiel tia:
I??E formis la formon por ke uzantoj povas?? Akiras al tiu vido kaj sekve, Ĝi estas nur videbla kun la InfoPath kliento en desegna vido. Nun mi sentas malmulte inokulita kontraŭ iu estonta nekonata ellaboranto rigardanta mian formon kaj pensanta malbonajn pensojn pri mi. Phew!
</Fino>
Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin
Mi ŝajnas iri tra InfoPath fazoj kie, Ekstere de la bluo, Mi estas formanta aron de formoj. Miaj fingroj lernas kiel uzi la ilan puton kaj tiam mi iras tra naŭ monata senpluveco kaj devi lerni ĝin ĉiuj super denove.
I?? En la mezo de InfoPath fazo kaj I?? Kreanta InfoPath formoj kun multaj vidoj. Unu afero vi #ver?ajne avizo estas ke la InfoPath 2007 Klientaj rezultoj vidas en alfabeta ordo. Tio ĉi estas vera ĉagreno kelkaj tempoj. Mia plej bona tekniko ĉi tiuj tagoj estas al prepend nombro al la vida nomo por ke ili ĉiam montras en la ordo mi deziras, Kiel ilustrita #?i tie:
Mi deziras min estis faranta tion ĉi ekde la komenco.
</Fino>
Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin
Mi estis laboranta sur kelkaj InfoPath formas ĉi tiun semajnon en MUSKO en FBAa medio kaj lernis, Kiam mi iris deplojiĝi la formojn al produktada medio kun FBAa zono ke la salutnomo() Funkcia funkcio ne laboras. Mi estis uzanta ĝin produkti unikajn dosierajn nomojn.
Puto, KE funkcio doesn?? Laboro en FBAa medio (Almenaŭ, Ne ekstere de la skatolo). Kaj, Al konsidero, Uzanta salutnomon en la vojo mi planis wouldn?? Havas guaranteed unika dosiera nomo en ajna evento.
Mia solvo estis uzi la nun() funkcio kaj regulo ke fajregoj sur ŝarĝanta de la formo. Mi asignas la dosieran nomon al datuma elemento kiam ĝi estas malplena:
La avantaĝo de ĉi tiu alproksimiĝo estas ke la dosiera nomo estas fiksita nur unufoje. (Mi surmetas?? Montras ?in en la ekrano pafis, Sed metis #kondi?o sur la regulo al nura fajrego kiam ??YFilename?? Estas malplena). Mi uzis fiksi la dosieran nomon ĉe la datuma fonta nivelo. Tipe, Mi farus ion (Malbone) Tiel:
La problemo kun kiu estas ke se uzanto turniroj la formo lunde kaj la uzanto B #?an?o ?i marde, Vi??L fino supre kun du malsamaj formoj ekde du malsamaj uzantoj savis ?in kun malsamaj uzantaj nomoj.
Tiel, Kiel #?eni kiel FBA povas esti en #?enerala kaj kun InfoPath en aparta, ?i faris min re-pensi malgrandan sed vere grava teknika detalo kaj #alproksimi?o ke mi wouldn?? Faris alie!
</Fino>
Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin
Tie estas ofta komerca scenaro tiel:
Ĉi tiu oficejo.Microsoft.Com ekzemplo Priskribas kiel krei apartan "vidon" Kaj marki la tutan vidon kiel legita-nura. Tio ĉi estas praktika alproksimiĝo sed havas la malavantaĝon ke vi efike kreis du tutajn versiojn de la sama formo kaj nun devas teni ilin en sync mane. Se vi aldonas kampon al la editable vido, Vi tiam devas aldoni ĝin al la ne-editable vido ankaŭ. Super tempo, Kun malsamaj ellaborantoj, Tie povas esti iu deturniĝo.
Ĉi tiu alternativo povus labori pli bonan en kelkaj kazoj:
La malavantaĝo al ĉi tiu alproksimiĝo estas ke ĉiuj la kampoj ankoraŭ estos editable sur la ekrano. La uzanto povas akiri falsan impreson ke ili efektive povas ŝanĝi enhavon. Vi povas mildigi ke de metanta en iu teksto ke la formo estas malfunkciigita, Eble en grandaj ruĝaj leteroj trans la supro de la paĝo.
En unu projekto, Mi kreis "workflow statuso" Vido. Kiel la workflow progresadis, Ĝi ĝisdatigus specifajn statusajn kampojn kiu estis antaŭenigita de la formo. Kiam la uzanto malfermis la formon, La "malferma formo" Regi aŭtomate ŝaltita al tiu vido kaj la uzanto havis belan malgrandan resuman statuson.
</Fino>
Ni havis evoluigita InfoPath formo kun multoblaj vidoj subteni novan dungon / Sur-suriranta procezon. Kiam la firmao dungas novan personon, La ITa departemento kaj aliaj grupoj devas preni agon (Instalita etaton, Ebligi aliron deci aplikojn, Troviĝi skribtablon, Ktp). Ni uzas sur formo sed malsama vido de la formo por ĉiu de tiuj funkcioj.
Ĉe ĉi tiu firmao, Plejparto de la homoj okupita en la komerca procezo estas IT-sagaco, Sekve kiam ili aliras la formon, Ilia defaŭlta vido estas "menuo" Vido kun butonoj kiu direktas ilin al ilia specifa funkcio. Tamen, Ni devis simpligi aferojn por rekta manaĝero de la nova dungo. Ĉi tiu persono ne devus vidi iun ajn de la IT rilatita aĵon. Fakte, Ŝi devus vidi nur unu vidon de la formo kaj eĉ ne havi elekton vidi la aliaj vidoj.
En nia kazo, KE konto de rekta manaĝero estas rekte ligita al la forma ĝentileco de Kontakta elektilo (Kiu mi estas ĉiam deziranta voki "homan plukiston" Por iu kialo).
La paŝoj estas kiel sekvas:
1. En desegna maniero, Iri al Iloj -> Formaj Elektoj -> Turniro kaj Savi.
2. Elektitaj "reguloj".
3. Krei novan regi kies ago estas "ŝaltilo vidi" Kaj kies kondiĉo ekspluatas la salutnomon() Funkcio.
Salutnomo() Revenas la "simplan" Uzanta nomo sen la domajno. Se mi arbohakas en SharePoint kun credentials "domajnopagalvin", Salutnomo() Revenoj "pagalvin".
La kontakta elektilo provizas tri pecojn de informo por kontakto. La "AccountID" Parto estas plej utila por ĉi tiu scenaro. La nura afero kiu faras tion ĉi eĉ iomete de defio estas ke la kontakta elektilo (En mia medio ĉiuokaze) Revenas la domajnon kaj uzantan IDENTIGAĴON, Kiel en "domajnopagalvin". Tio ĉi malhelpas nin de faranta rektan-antaŭa egaleca kondiĉo ekde AccountID ("Domajnopagalvin") Volas neniam egalan salutnomon() ("Pagalvin").
Ni povas akiri ĉirkaŭ ĉi tiu uzanta la "enhavas" Operacianto: AccountID enhavas salutnomon().
Ni povas preni ĝin cetere kaj pre-pend malfacila-kodita domajnon antaŭ la salutnomo() Funkcii akiri nian egalecan kontrolon kaj elimini la riskon de falsa pozitivaĵo sur la enhavas operacianton.
Ni havus VERE ŝatas aŭtomate ŝalti vidon por aliaj uzantoj bazita sur ilia ADa sekureca grupa membriĝo. Ekzemple, Kiam membro de la "IT Analytics" Grupo aliras la formon, Aŭtomate ŝalti al la IT Analytics vido. Ni ne havis tempon efektivigi ĝin, Sed mia unua penso estas krei araneaĵan servon kiu havus metodon kiel "IsMemberOfActiveDirectorySecurityGroup", Pasi ĝin la salutnomo() Kaj revena malantaŭa vera aŭ falsa. Faras iun ajn havas iun ajn alia, Pli lerta ideo? Estas tie ajna SharePoint funkcio ni povas ekspluati de InfoPath fari tiun persistemon?
</Fino>