Månedlige Arkiver: Desember 2007

Tenke på kommersielle produkter

Jeg satt opp en SharePoint Designer-servertillegg prosjekt opp på CodePlex tidligere i år og selv om det er egentlig ganske begrenset i omfang, Jeg anslår at det er blitt lastet ned av 40 til 60 (muligens også 100) selskaper i omtrent to måneder. Som indikerer for meg at det er et marked for løsningen og hvis jeg skulle lykkes kommersialisere den, that could translate into a goodly amount of beer 🙂

Min bakgrunn er faktisk mye mer i produktutvikling og jeg vet hva er nødvendig for å få en top-notch produkt, i motsetning til en CodePlex hobby-prosjekt, markedet. I min tidligere liv, Jeg var ansvarlig for produktet R&D for alle programvareprodukter. Forskjellen mellom da og nå er at jeg er en konsulent som nå jobber for en (utmerket) konsulentfirma (Conchango). Tidligere, Jeg hadde en hele selskapet bak meg og meg, selger og støtter produktene brakt vi til markedet. I dag, Jeg ville være alene.

Jeg har flere produktideer i tankene, men jeg tror den enkleste er å opprette en kommersiell versjon av ovennevnte CodePlex prosjektet som bruker det som utgangspunkt og utvider den ytterligere. Min fuzzy off-the-cuff tenkning er å belaste noe sånt $100 for en ubegrenset utviklerlisens og $500 per produksjon webfront. Jeg tror jeg vil også gi bort kildekoden.

Hvis du har tanker og erfaringer du er villig til å dele, Legg igjen en kommentar eller email meg direkte. Jeg vil gjerne høre meninger som:

  • Er det hele verdt?
  • Anbefalinger for markedsføring, samler inn penger, distribusjon.
  • Priser.
  • Støtte.
  • Noen andre kommentar du ønsker å forlate.

Det er "lett" å komme opp med produktideer og implementere dem, Selv om mange titalls timer arbeid kreves. Andre ting er ikke så lett for meg.

</slutten>

Technorati Merkelapper:

Søndag morgen-morsom: “Jesus må dø”

Vi kjøpte vår første (og bare) "luksus" bilen tilbake når orkanen Floyd spikret østkysten av USA. Vi fikk mye regn her i New Jersey og gått flere dager før livet tilbake til normal. Like før Floyd slo, vi laget et tilbud for en brukte Volvo 850 GL og etter Floyd slo, kjørte den hjem.

Det var vår første bil med en CD-spiller. Som de fleste nye bileiere, Vi gikk litt CD-gal, gjenopplivet vår sovende CD-samling og gikk på lange stasjoner bare for å lytte til CD-er i bilen. Som alle moter, Dette gikk for oss og vi endte lytter til samme CD igjen og igjen. I vårt tilfelle, Det var Jesus Christ Superstar.

En av de (mange) strålende brikker i at rock opera er sunget av etablering religiøse typer, ledet av Kaifas, «High Priest». De synger vei til å velge hvordan du skal håndtere "Jesus problemet" og Kaifas leder dem til konklusjonen at "Jesus må dø". Refrenget på sangen er "bare må dø, må dø, må dø, Jesus må dø". Du hører det avstå mye i dette stykket.

Samtidig, min sønn var omtrent tre år gammel. Du kan sannsynligvis se hvor dette kommer.

Jeg kom hjem fra jobb en dag og min sønn er i stuen leke med leker og summende seg selv. Jeg tar av meg jakken, ser gjennom posten og alle mine vanlige gå-de-dørs ting og jeg plutselig innser at han bare sier, egentlig ikke synge: "Jesus må dø, må dø, måtte dø." Jeg var mortified. Jeg kunne bare se ham gjøre det på en av hans baby spille datoer på en venns hus — sannsynligvis sist spille dato med at baby venn.

We pulled that CD out of the Volvo after that 🙂

</slutten>

Technorati Merkelapper: ,

Google godtok min Live Spaces-blogg i AdSense-programmet

OPPDATERINGEN: Som av 03/09, Jeg har funnet noen måte å integrere min live spaces-konto med Google Adsense. Microsofts system her synes å forhindre alle tekniske mekanismer som Google gir potensielle adsense kroen. Jeg pleier å tro dette er hovedsakelig en bivirkning av de har bygget i levende områder, ikke en direkte innsats for å deaktivere Adsense.

Dette er ikke en SharePoint-innlegg, men kan være av interesse for bloggere generelt.

Noen kommenterte på deres Windows Live Spaces-blogg at Google bekreftende nektet sin søknad til å delta i AdSense. Hun teori om at Google nektet henne fordi Windows Live Spaces vert bloggen hennes. Men, Jeg var nylig tatt opp i programmet for min live spaces-blogg, så politikken har enten endret eller Google nektet henne for en annen grunn.

selvfølgelig, Jeg ser ikke noen opplagt måte å integrere Google AdSense i mitt live space, but it’s a start 🙂

</slutten>

Technorati Merkelapper: ,

Implementering av Master / Detalj relasjoner ved hjelp av egendefinerte lister

Forum brukere ofte som spørsmål som dette:

> hallo,
>
> Behage fortelle meg hvis det er noen muligheter til å bygge en egendefinert liste med
> overordnet og detaljert type (som fakturaer) uten å bruke InfoPath.
>

SharePoint gir litt ut av boksen-funksjoner som støtte typer forretningskrav sånn.

Generelt, en kobler to listene sammen med en oppslagskolonne. Liste A inneholder fakturaen meldingshodeinformasjonen og liste B inneholder Fakturaopplysninger.

Bruk flere lister til å vedlikeholde kundenumre, produktnumre, osv..

Bruke en webdel for innholdsspørring (i MOSS bare) og/eller en vise webdelen for å opprette flettede visninger av lister. SQLServer Reporting Services (SRS) er også tilgjengelig for rapportering siden av det.

Men, Det er noen viktige begrensninger som kan gjøre det vanskelig å bruke ren ut-av-esken funksjonene for noe som er selv moderat kompleks. Disse inkluderer:

  • Størrelsen på relaterte søk viser vs. "smartness" av kolonnetypen oppslag. Kolonnetypen oppslag presenterer seg på Grensesnittet forskjellig avhengig av om du har aktivert merker eller ikke. I begge tilfeller, out-of-the-box kontrollen viser alle tilgjengelige elementer fra listen. Hvis kildelisten inneholder 1,000 elementer, det skal være et problem. Kontrollen oppslag ikke bla gjennom elementene. I stedet, det trekker dem alle i kontrollen. Det gjør for en svært vanskelig brukergrensesnitt både dataregistrering og ytelse.
  • Oppslag "Trekk tilbake" én kolonne med informasjon. Du kan aldri trekke tilbake mer enn én kolonne med informasjon fra listen. For eksempel, Du kan ikke velge en kunde "12345" og vise nummeret som kundens navn og adresse samtidig. Oppslag bare viser antall og ingenting annet. Dette gjør for et vanskelig og vanskelig brukergrensesnitt.
  • Ingen intra-skjemaet kommunikasjon. Jeg har skrevet om dette her. Du kan ikke implementere gjennomgripende rullegardinlister, betinget aktivere/deaktivere felt, osv..
  • Ingen gjennomgripende sletting eller innebygd referanseintegritet. SharePoint behandler egendefinerte lister som uavhengige enheter og kan du koble dem til hverandre i en tradisjonell ERD forstand ikke. For eksempel, SharePoint kan du lage to egendefinerte lister, "kunde" og "fakturahodet". Du kan opprette et fakturahode som kobler til en kunde i kundelisten. Deretter, Du kan slette kunden fra listen. Esken, Det er ikke mulig å hindre dette. Å løse denne type problem, du bruker vanligvis hendelsesbehandling.

Det kan virke dystre, men jeg ville fortsatt bruke SharePoint som utgangspunkt for å bygge denne typen funksjonalitet. Selv om det er mellomrom mellom det du trenger i en løsning, SharePoint gjør det mulig for oss å fylle disse hullene med verktøy som:

  • Hendelsesbehandling. Bruk dem til å fremtvinge referanseintegritet.
  • Egendefinerte kolonner: Opprette egendefinerte kolonnen og bruke dem i stedet for standard oppslagskolonnen. Legge til personsøker, bufring og AJAX funksjoner for å gjøre dem mottakelig.
  • BDC. Denne MOSS-bare funksjonen kan vi spørre andre SharePoint-lister med overlegen brukergrensesnitt for vanlige oppslagskolonnen. BDC kan også nå ut til et serverprogram for bakenden. Bruk BDC for å unngå replikering. I stedet for å replikere kundeinformasjon fra bakdatabase forretningssystem, Bruk BDC i stedet. BDC funksjoner gir en hyggelig bruker grenseflate å rykk informasjonen direkte fra ERP-systemet der det hører og unngår å måtte opprettholde en replikering løsning.

    BDC er en MOSS-funksjon (ikke tilgjengelig i WSS) og er utfordrende for å konfigurere.

  • ASP.NET-webskjema: Opprette en fullfunksjons AJAX-aktivert skjema som bruker SharePoint-objekt modell og/eller tjenestene for å utnytte SharePoint-lister samtidig som det gir en svært forståelsesfull brukergrensesnitt.

Det siste alternativet kan føle som om du starter fra scratch, men vurdere det faktum at SharePoint-plattformen starter du med følgende nøkkelfunksjoner:

  • Sikkerhetsmodellen med vedlikehold.
  • Menysystem med vedlikehold.
  • "Master tabell" (dvs.. egendefinerte lister) med sikkerhet, innebygd vedlikehold og overvåking.
  • Søk.
  • Bakenden integrasjonsverktøy (BDC).

Hvis du starter med et nytt tomt prosjekt i visual studio, du har mye infrastructure og avløp å bygge før du nærmer hva SharePoint tilbyr.

Jeg tror at Microsoft har til hensikt å utvide SharePoint i denne retningen programutvikling. Det virker som en naturlig utvidelse til eksisterende SharePoint base. Microsoft CRM-programmet gir en stor utvidelse av måtte topptekst/detaljert programutvikling. Selv om disse funksjonene i CRM, teknologien er åpenbart tilgjengelig for SharePoint-utviklingsteam og jeg forventer at det vil gjøre sin vei til SharePoint-produktet slutten av 2008. Hvis noen har en kunnskap eller innsikt i dette, Legg igjen en kommentar.

</slutten>

Technorati Merkelapper:

Quick Tips: Webdelen for innholdsspørring, Kolonnen oppslagsverdien og XSL

Jeg har et kolonnenavn i en innholdstype som kalles "Real Estate plassering".

Denne kolonnen er av typen "oppslag".

Jeg har endret <CommonViewFields> og ItemStyle.xsl å vise kolonnen.

En enkel <XSL:verdien av merker =…> Returnerer tilbake en intern verdi som inkluderer ordenstallsplassering data, eksempel:

1;#Miami

Å få den menneskelige-vennlig-verdien, bruke xsl delstreng-etter, som vist:

<XSL:valuXSLf Velg = "delstreng-etter(@Real_x005F_x0020_Estate_x005F_x0020_Location,’#’)"></XSL:verdien av>

Du kan bruke denne teknikken når du arbeider med oppslagsverdier i XSL-transformeringer og trenger for å få verdien menneske-vennlig.

<slutten />

Technorati Merkelapper: , ,

SharePoint-Beagle Desemberutgaven opp & Live

Mange av dere vet dette allerede, men den desember utgaven av SharePoint Beagle er live.

Hver artikkel er verdt å lese i min mening.

Jeg ønsker å gi en litt ekstra bump til kollegaen min artikkel (Natalya Voskrensenskya). Hun gir en skjerm-shot extravaganza mens beskriver hvordan hun brukte egendefinerte lister, arbeidsflyt, SharePoint Designer, datavisninger og andre elementer til å implementere en selvbetjent trening funksjon i MOSS. Hun beskriver teknikker som kan brukes i mange ulike forretningsscenarier. sjekk ut hennes blogg mens du er i gang.

Ikke glem å sjekke min artikkel as well 🙂 I wrote about using MOSS to help an HR department manage open positions.

</slutten>

MOSS forteller meg “Ingen tilgang” redigere en arbeidsflytoppgave, Men jeg virkelig har tilgang

Jeg har implementert en arbeidsflyt ved hjelp av SharePoint Designer i et område som er hovedsakelig lese-bare å "NT_AUTHORITYAuthenticated brukere" (dvs.. alle). Det er et skjemabibliotek til et InfoPath-skjema. Det er en også tilknyttede arbeidsflyten oppgaver-listen slik at når arbeidsflyten fungerer, Det kan tilordne oppgaver til personer.

Jeg bryte tilgang for former bibliotek og oppgave liste slik at alle godkjente brukere kan opprette skjemaer og oppdatere tildelte aktiviteter.

Tester med kontoen for lav-privilegier-test.

Jeg kan fylle ut og lagre skjemaer til biblioteket? –> ja

Får jeg oppgaven fra en e-kobling? –> ja

Jeg kan se en redigeringskobling for arbeidsflyten oppgave –> ja

Jeg kan klikke på denne linken? –> nei … Ingen tilgang.

Hvorfor ser jeg en Rediger-kobling som nekter meg tilgang når jeg klikker på det? Det er ikke slik det er ment å fungere…

Jeg går gjennom sikkerhetskonfigurasjonen igjen, svært tett. Jeg gjør det igjen. Jeg vurdere å slette dette innlegget fordi jeg åpenbart ikke vet noe om sikkerhet.

Endelig, Jeg søker Internets. Jeg finner dette svært usannsynlig MSDN forumtråden: http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1838253&SiteID=17

Plakater synes å være antyder at den enkle handlingen å eksportere arbeidsflyten til en stasjon tallerken vil fastsette et MOSS sikkerhetsproblem? Jeg kan knapt tro jeg bare skrevet som. Jeg minnet av South Park-episoden om den 9/11 konspirasjon der Stan ber våre Preznit, "Virkelig?" igjen og igjen.

Så, ingenting å tape, Jeg brann opp SPD, Høyreklikk på arbeidsflyten og lagre den på min c:\ stasjon. Det ville være c:\ kjøre på min laptop. Jeg ser over skulderen min hele tiden slik at ingen vil spørre meg, "Hvorfor er du lagrer arbeidsflyten til bærbare?"

Utrolig, det løser mitt problem. Jeg kan redigere oppgaven.

Jeg nominere herved dette er den mest bisarre arbeidsflyt løsningen for 2007.

</slutten>

Technorati Merkelapper:

SharePoint Designer, Gjeldende element “Kodet absolutt URL-adresse” og HTTPS

Vi ønsker ofte å sende en e-post som inneholder en hyperkobling til elementet eller dokumentet som utløste arbeidsflyten. Vi kan bruke gjeldende element "kodet absolutt URL-adresse" for dette formålet. Men, Det synes alltid å bruke "http" for URL-protokollen. Hvis nettstedet ditt går på HTTPS da det ikke vil fungere for deg.

bilde

Så vidt jeg vet, Det er ingen ut av boksen løsningen på dette problemet. Hvis du må bruke HTTPS, du har ingen av alternativet for.

Du kan løse det., opprette en egendefinert handling som gir en streng replace-funksjonen bruke i arbeidsflyten. Alternativt, bruke et 3rd party verktøy som utmerket pakken her: http://www.codeplex.com/spdwfextensions 🙂

</slutten>

Technorati Merkelapper: ,

Rask og enkel: Bestemme interne kolonnenavnet på en områdekolonne

OPPDATERINGEN: Jeremy Thake har blogged om dette og sette opp noen koden for et konsollprogram som viser interne navnene.

Jeg prøvde å få en webdel for innholdsspørring til å vise en forfallsdato fra en aktivitet og fordi skjermetiketten er "Forfallsdato", Jeg antok at kolonnenavnet du vil bruke i <CommonViewFields> er "Due_x0020_Date".

Feil!

Ekte kolonnenavnet var i dette tilfellet "DueDate".

Hvordan kom jeg finne det? Jeg re-lese Heather Salomos bloggpost på å endre CQWP vise flere kolonner av data. Hun beskriver denne prosessen på trinn #13. Stole på det.. Det er riktig. Minst, Det var riktig for meg. Jeg ikke stole på den i begynnelsen av en annen kolonne med et mye lengre navn.

Jeg sier "stole på det." fordi jeg ikke stoler det og sannsynligvis bortkastet nær to timer stangar hodet mitt veggen. Når jeg løst "DueDate" navn, Jeg ønsket å legge et annet felt til <CommonViewFields>. Ved hjelp av Solomon teknikk, Jeg fikk et navn som "XYZ_x0020_Project_x0020_Due_x00".

Tenkte jeg, Dette er klart et avkortede navn. Jeg gikk videre og un avkortet med ingen suksess. Jeg endelig brukt det tilsynelatende avkortede navnet og den arbeidet.

Bonus Tips: Da jeg jobbet med på CQWP, Jeg la til et dårlig interne navn til <CommonViewFields>, CQWP vil fortelle meg at spørringen hadde returnert ingen resultater. men, Hvis jeg lagt en datatype til feltnavnet, det vil returnere et resultat. Legge dataene maskert type faktisk et problem siden jeg henviser et ikke-eksisterende felt. Jeg kunne legge det, men når jeg prøvde å vise verdien, Jeg vil alltid få en tom.

Dette ikke maskere feil:

<CommonViewFields>Due_x0020_Date;</CommonViewfields>

Dette maskere feil:

<CommonViewFields>Due_x0020_Date,DateTime;</CommonViewfields>

</slutten>

Pass opp bryte endringer til ItemStyle.xsl

Jeg jobbet med ItemStyle.xsl å tilpasse utseendet på en webdelen for innholdsspørring og rett om lunsjtid, Jeg gjorde en bryter endrer til xsl. Jeg skjønte ikke det, men dette hatt vidtrekkende effekter i hele områdesamlingen. Jeg gikk til lunsj og etter min tilbake, merke denne meldingen vises i en rekke steder:

Kan ikke vise webdelen. Feilsøke problemet, Åpne denne websiden i et Windows SharePoint Services-kompatibelt HTML-redigeringsprogram for eksempel Microsoft Office SharePoint Designer. Hvis problemet vedvarer, Kontakt administratoren for webserveren.

Jeg skylda klienten (ikke realisere ennå at det var min feil på dette punktet) men til slutt merke til at visual studio intellisense advarer meg at jeg hadde ugyldig XSL. Jeg rettet det og alt begynte.

Være darned forsiktig når du arbeider med ItemStyle.xsl (og de globale XSL-filer) — bryte dem påvirker mange gjenstander i områdesamlingen.

<slutten />