Artikkeli varten SharePointBriefing.com ja ne laittaa se live tänään.
Tässä on teaser:
</loppu>
Noudata minut viserrys http://www.twitter.com/pagalvin
Artikkeli varten SharePointBriefing.com ja ne laittaa se live tänään.
Tässä on teaser:
</loppu>
Noudata minut viserrys http://www.twitter.com/pagalvin
Olen ollut työskentelee projektissa, jossa minun täytyy ote liitetiedostoja alkaen InfoPath-lomake. On olemassa hyviä resursseja jäsentämiseen InfoPath-lomakkeet (Mitkä ovat vain XML-tiedostoja, niin on oikeastaan aika helppo).
Kun olin rakennuksen hankkeen, Aloitin lataamalla InfoPath-lomakkeen ja tallennat sen paikalliselle kiintolevylle. C#-koodia luki suoraan että esimerkiksi. Kuitenkin, InfoPath-lomakkeita todella elävät sisällä SharePoint-lomakekirjastoon. Tein vähän puoli sydämestä hakuja selvittää, miten lukea suoraan kirjastosta ja melkein luopui, siinä tapauksessa olisin tallentanut sitten lomakkeen paikalliseen temp-kansioon ja lukea sieltä. Kuitenkin, ei ole tarpeen käydä läpi ne vanteet kuin voit lukea sen suoraan kirjastosta. Tämä pieni pätkä osoittaa miten:
/// Luokan määritelmä juttuja täällä, mukaan lukien:
Yksityinen SPFile mySharePointFile; /* Osa SPList */ // Koodia menee täällä ja menetelmään luokka meillä: TextReader-kohteesta = Uusi XmlTextReader(mySharePointFile.OpenBinaryStream()); textReader.WhitespaceHandling = WhitespaceHandling.Ei mitään; textReader.Read(); // Jos solmulla on arvo samalla (textReader.Read()) { |
He avain avaimenlehti on luemme InfoPath suoraan kautta OpenBinaryStream() menetelmä pyytää SPFile-tiedoston XmlTextReader-konstruktorin parametri. Se toimii hyvin.
</loppu>
Noudata minut viserrys http://www.twitter.com/pagalvin
Kuluraportin merkintä ratkaisu on asiakas, joka hyödyntää InfoPath ja työnkulku. Jossain vaiheessa hyväksyntäprosessin aikana, Minun täytyy luoda sähköpostiviestin, jossa on kaikki hyvä InfoPath tiedot sekä liitteet, itse niin, että (huokaus) joku ottaa tiedot ja koskien-manuaalisesti avain se Oracle database-sovellukseen.
Ei ole kovin vaikeaa saada tai jäsentää InfoPath-lomake. En tiedä miten käsitellä liitteitä, kuitenkin. Kun tunti tai kaksi poking noin Internets (ikuisuus!) Löysin tämän artikkelin: http://support.microsoft.com/kb/892730
Se antaa kätevä koodi purkaa liitteen solmusta muodossa. (Sinun pitää vielä löytää solmu ja kaikki, mutta se on vain XML-jäsentämiseen).
Tiedän, että liite on base64-koodattu ja alun perin meni tielle vain talteen base64 tiedot, dekoodaus se ja tallentamalla sen. Kuitenkin, Havaitsin nopeasti, en tiedä miten saada tiedostonimi, kunnes löysin edellä mainitun artiklan.
Olin itse löytänyt että melko aikaisin, mutta oli lykännyt persoonallisuuden jakautuminen. Toisaalta, artikkelin * sanoo * hyväksi InfoPath 2007. Vielä, koodi ja ohjeet ovat kaikki Visual Studio 2003 ja viittaukset InfoPath 2003.
Bottom line, kyseisessä artiklassa jos koodi toimii hyvin minulle (toistaiseksi). Saan InfoPath-lomake, Osaa jäsentää sen, Löydän ja purkaa liite, ja tiedän sen nimi. Mitä muuta voi pyytää elämän?
</loppu>
Noudata minut viserrys http://www.twitter.com/pagalvin
Jos olet huolissasi, että SharePoint-ympäristöön voidaan tad epäterveellistä, Anna minun auttaa sinua vahvistaa, että ja kuntotietojen tarkistus.
Minulla on Kulu hyväksyntätoimet, joka täytyy toteuttaa käyttämällä InfoPath perustuu lomaketodennus (FBA) ympäristön lomakkeiden-palveluita käyttämällä (Web-pohjainen InfoPath).
Kaksi hyväksynnän ryhmiä ja prosessi toimii näin:
Asiat InfoPath-puolelle, Minulla on eri osia, Piilota/näkyvät perusteella onko käyttäjä on jäsenenä yksi näiden hyväksyntäryhmiä.
FBA ympäristössä käyttäjänimi() funktio palauttaa aina tyhjän, Valitettavasti. Mitä olen tehnyt on määritetty mukautetun luettelon nimeltään "Hyväksyntäryhmiä".
Lisää sarakkeiden lisääminen luetteloon ei.
Kun lomake avautuu, se on pääsääntöisesti tältä:
"Määrittää kentän arvon" on täällä:
Tämä on pohjimmiltaan sanoen: Hyväksynnän ryhmän mukautetun luettelon kyselyn ja suodattimen että tarkastelemalla jokin kyselyn rivin tarvittaessa otsikon arvo = "Pohjoismainen".
Jos joka palauttaa kaikki arvon, sitten nykyinen käyttäjä on kyseisen ryhmän jäsen. Tiedän, että arvo, koska merkkijonon pituus on suurempi kuin nolla.
Lopettaa silmukka varmistamalla Hyväksyntäryhmä-luettelosta yksittäisiä kohteita. Suorituksen aikana, Jos nykyinen käyttäjä ei ole asianmukaisia pääsy kohteen sitten kysely ei palauta, merkkijonon pituus on nolla ja nyt tiedät nykyinen käyttäjä ei ole kyseiseen ryhmään. Voit käyttää siitä infrastruktuuritoimia.
Tämä on super lyhyt kirjoittaa ylös. Vähän aikaa tai anna lisätietoja.
En tiedä, miten asiaa on, että olen FBA ympäristössä. Tämä todennäköisesti toimisi hyvin-FBA ympäristö, mutta voin kuvitella tapauksissa, joissa tämä olisi hyödyllistä.
</loppu>
Noudata minut viserrys http://www.twitter.com/pagalvin
Työskennellyt InfPath muodossa tänään ja juoksi vastaan vanha ystävä, "Käsittelemätön poikkeus, kun tekee muodossa System.Xml.XmlException: Odottamaton tiedoston loppu jäsennettäessä nimi on tapahtunut."
Tämä tapahtui kauan sitten ja en tiedä mitä juuri tein ratkaisemiseksi. Rehellisesti, Mielestäni uuden projektin siirtyminen ja koskaan nähnyt tämän ratkaista (minun tilalle piti käsitellä että päänsärky). Muista, se oli paholainen ongelma. Vietin useita epäonnistuneita päiviä tekemisissä sen kanssa. Sen jälkeen, Olen nähnyt tämän tulkaa MSDN-keskustelupalstoissa vähintään kerran viimeisen vuoden aikana ja oikeastaan koskaan nähnyt vastausta sitä.
Osuin sitä tänään ja onneksi tällä kertaa , Olin juuri tehnyt muutoksia lomakkeeseen. Jänistimme muutos ja ongelma katosi. Käy ilmi, että on mahdollista luoda mallista InfoPath Designerilla siten, että se tuottaa Jäsennysvirhe lomakkeet palvelimen puolella aidan.
Minun tapauksessani, ongelma johtui seuraavasti:
En tiedä, jos ne portaat aiheuttaa ongelmia tai ehkä, jotenkin itse luettelon tiedot on ongelma. Aion kokeilla hieman ja katso jos olen kynsien viihdealueella hän parametrit tämän tarkemmin.
</loppu>
Noudata minut viserrys http://www.twitter.com/pagalvin
Olen edelleen asuu InfoPath-lomakkeiden maailmassa ja minun piti tehdä "pieni" muutokset lomakkeeseen että, Valitettavasti, taukoja nimeämiskäytäntöä, olen antanut kaksi viikkoa sitten. Ajattelin itsekseni, "joku on astuva jotta etsiä aikaa asia vuodessa nyt ja sanoa, "Mitä ajatteli Paul? Kirjoittaja Jove, hänen nimeämiskäytäntöä ei ole mitään järkeä!”
Tajusin, että voisin luoda näkymän lomakkeen tästä ja sitten, Vielä kerran, tajusin, että olen voinut tehnyt jotain koko ajan. "Kehittäjä huomautuksia" näkymä lisätään InfoPath-lomake:
Olen määrittänyt lomaketta niin, että käyttäjät eivät pääse mieltä ja siksi, se näkyy vain rakennenäkymässä InfoPath-asiakas. Nyt tunnen hieman istutettu vastaan joitakin tulevan tuntematon rakennuttaja muodossa ja ajattelun huono ajatuksia minulle. Huh huh!
</loppu>
Noudata minut viserrys http://www.twitter.com/pagalvin
Tahdo läpi InfoPath vaiheet jossa, tyhjästä, Olen käsityö joukko muotoja. Sormet oppivat käyttämään työkalu hyvin ja sitten läpi yhdeksän kuukauden kuivuus ja täytyy oppia kaiken uudelleen.
Olen keskellä InfoPath-vaiheen ja olen luoda InfoPath-lomakkeet paljon näkemyksiä. Yksi asia luultavasti huomaat, että InfoPath 2007 asiakkaan näkymät näkyvät aakkosjärjestyksessä. Tämä on todellinen riesa joskus. Paras tekniikka on nykyään kohdejärjestämän numero näkymän nimi niin, että ne aina Näytä järjestykseen, esimerkin mukaisesti:
Toivon, että olin tehnyt tämän koko ajan.
</loppu>
Noudata minut viserrys http://www.twitter.com/pagalvin
Olen ollut työstämässä joitakin InfoPath-lomakkeiden tällä viikolla MOSS FBA ympäristössä ja oppinut, Kun menin käyttöön tuotantoympäristössä FBA lomakkeet alue, että käyttäjätunnus() toiminto ei toimi. Käytin sitä tuottamaan yksilöivää tiedostonimeä.
Hyvin, että FBA ympäristö ei toimi (ainakin, ei kättelyssä). Ja, Kun pohdintaa, käyttäen käyttäjätunnusta, niin olin suunnitellut ei taata nimi joka tapauksessa.
Ratkaisuni oli käyttää nyt() toiminta ja sääntö, että tulipalot lastaus muodossa. Määritä tiedostonimi tietoelementti kun on tyhjä:
Tämän lähestymistavan etuna on, että tiedostonimi on määritetty vain kerran. (Älä näytä sitä irtoseinä ammus, Mutta edellytys sääntö vain tuleen "myFilename" on tyhjä). Käytin asettaa tiedostonimi tietojen lähde tasolla. Yleensä, Tekisin jotain (Paha) Näin:
Ongelma on, että jos käyttäjä A Avaa lomakkeen maanantaina ja käyttäjä B muuttaa tiistaina, sinun lopulta kaksi eri kahden eri käyttäjän tallennuksen etäkohteisiin eri käyttäjänimillä.
Niin, niin harmittaa koska FBA voidaan yleensä ja InfoPathin kanssa erityisesti, se sai minut jälleen ajatella pieni mutta todella tärkeitä teknisiä yksityiskohtia ja lähestymistapa, joka ei olisi tehnyt toisin!
</loppu>
Noudata minut viserrys http://www.twitter.com/pagalvin
On olemassa yhteinen liiketoimintaskenaarion tältä:
Tämä office.microsoft.com-esimerkki erillinen "näkymän luominen" ja koko näkymä vain luku-muodossa. Tämä toimiva lähestymistapa mutta on haitta tehokkaasti luonut kaksi koko versioita samassa muodossa ja on nyt pidettävä synkronointi manuaalisesti. Jos lisäät kentän voi muokata näkymässä, Voit sitten lisätä sen ei voi muokata-näkymään. Ajan mittaan, eri kehittäjien kanssa, on joitakin eroja.
Tämä vaihtoehto saattaa toimi paremmin joissakin tapauksissa:
Tätä lähestymistapaa haittapuoli on, että kaikki kentät voi muokata näytöllä. Käyttäjä voi saada väärän vaikutelman, että he itse muuttaa sisältöä. Voit pienentää että laittamalla tekstiä, että lomake on poistettu käytöstä, mahdollisesti kirjaimin suuri punainen sivun yläosassa.
Yksi Projectin, Loin "-työnkulun tila" näkymä. Työnkulun edetessä, se päivittää erityisasemaa kentät, jotka ylennettiin lomakkeesta. Kun käyttäjä avaa lomakkeen, "Avaa-lomake" Sääntö automaattisesti siirrytään näkymässä ja käyttäjän oli kiva vähän yhteenveto tila.
</loppu>
Meillä kehittynyt InfoPath-lomakkeen näkymien tukemaan uuden vuokraus / on-lennolle prosessi. Kun yritys palkkaa uusi henkilö, IT-osasto ja muut ryhmät on ryhdyttävä toimiin (Palkanlaskennan asetukset, käyttöön asianmukaiset hakemukset, Etsi Työpöytä, jne). Käytämme muodossa mutta eri mieltä lomakkeen kunkin näiden tehtävien.
Tämän yrityksen, Useimmat ihmiset osallistuvat liiketoimintaprosessin ovat IT-savvy, Joten kun he käyttää lomaketta, oletusnäkymän on "-valikko" Katso napeilla, joka antaa tehtäväksi heidät jotta erityinen tehtävä. Kuitenkin, Tarvitsimme yksinkertaistavat uusi vuokraus esimies. Tämä henkilö ei pitäisi nähdä mitään siihen liittyviä juttuja. Itse asiassa, Hän on ohjeaiheessa vain yhden lomakkeen ja ei edes ole vaihtoehtoa näet muissa näkymissä.
Tässä tapauksessa, että suoraan tilin on suoraan sidoksissa muodossa kohteliaisuus yhteystiedon valitsin (joka olen aina halunnut soittaa ihmisiin picker"" jostain syystä).
Vaiheet ovat seuraavat:
1. Suunnittelutilassa, menen Tools-> Lomakeasetukset-> Avaa ja Tallenna.
2. Valitse "säännöt".
3. Luo uusi sääntö, jonka toiminta on "Vaihda Katso" ja jonka tila hyödyntää käyttäjätunnus() funktio.
Käyttäjätunnus() palauttaa "yksinkertainen" käyttäjänimi ilman toimialuetta. Jos kirjautuvat SharePointiin tunnistetiedoin "domainpagalvin", Käyttäjätunnus() palauttaa "pagalvin".
Yhteystiedon valitsin tarjoaa kolme bittiä tietoa yhteystiedon. "AccountID" osa on eniten hyötyä tässä tilanteessa. Ainoa asia, joka tekee jopa hieman haaste on, että yhteystiedon valitsin (minun ympäristössä joka tapauksessa) palauttaa toimialueen ja käyttäjän tunnus, kuten "domainpagalvin". Tämä estää meitä tekemästä suoraan eteenpäin tasa-arvon edellytys koska AccountID ("domainpagalvin") on koskaan sama käyttäjätunnus() ("pagalvin").
Voimme päästä tämän käyttämällä "sisältää" operaattori: AccountID on käyttäjätunnus().
Voimme edelleen ja pre-pend koodattu toimialueen edessä käyttäjätunnus() toiminto saat tasa tarkistaa ja poistaa väärä positiivinen riski on.
Olisimme todella mielellämme automaattisesti vaihtaa näkymän muiden käyttäjien niiden AD suojausryhmän jäsenyyden perusteella. Esimerkiksi, Kun "se Analytics" käytössä lomake, automaattisesti siirry IT Analytics-näkymään. Meillä ei ollut aikaa toteuttaa se, mutta ensimmäinen ajatus on luoda web-palveluun, joka olisi menetelmä kuin "IsMemberOfActiveDirectorySecurityGroup", potkien käyttäjätunnus() ja palata takaisin totta vai tarua. Onko kellään muita, Lisää hyvä ajatus? Onko voimme hyödyntää InfoPathista tekemään määrityksen SharePoint-toiminto?
</loppu>