Månadsarkiv: December 2007

Tänker på kommersiella produkter

Jag satte upp en SharePoint Designer extensions projekt upp på CodePlex tidigare i år och även om det är egentligen ganska begränsad i omfattning, Jag uppskattar att det är hämtat från 40 till 60 (eventuellt även 100) företag i nästan två månader. Som indikerar för mig att det finns en marknad för denna lösning och om jag var att framgångsrikt kommersialisera det, that could translate into a goodly amount of beer 🙂

Min bakgrund är faktiskt mycket mer i produktutveckling och jag vet vad som krävs för att få en förstklassig produkt, i motsats till ett CodePlex hobbyprojekt, till marknaden. I min tidigare liv, Jag var ansvarig för produkten R&D för alla programvaruprodukter. Skillnaden mellan då och nu är att jag är en konsult som nu arbetar för en (utmärkt) konsultföretag (Conchango). Tidigare, Jag hade en hela företaget bakom mig och framför mig, försäljning och support produkterna kommit vi till marknaden. Idag, Jag skulle vara ensam.

Jag har flera produktidéer i åtanke, men jag tror att det enklaste vore att skapa en kommersiell version av den ovannämnda CodePlex projekt som använder det som utgångspunkt och sträcker sig det längre. Min fuzzy off-the-cuff tänkande är att ta ut något i stil med $100 för en obegränsad utvecklaren licens och $500 per produktion frontwebb. Jag tror jag skulle också ge bort källkoden.

Om du har tankar eller upplevelser som du är villig att dela, lämna gärna en kommentar eller maila mig direkt. Jag skulle vilja höra åsikter som:

  • Är det allt värt?
  • Praktiska förslag för marknadsföring, samlar in pengar, distribuera.
  • Prissättning.
  • Stöd.
  • Någon annan kommentar som du vill lämna.

Det är "lätt" att komma med produktidéer och att genomföra dem, även om många tiotals timmar av arbete krävs. Andra saker är inte så lätt för mig.

</slutet>

Technorati Tags:

Söndag morgon Funny: “Jesus måste dö”

Vi köpte vår första (och endast) "lyx" bilen tillbaka när orkanen Floyd spikas den östra kusten av USA. Vi fick en hel del regn här i New Jersey och flera dagar gått innan livet återgått till det normala. Precis innan Floyd slog, Vi gjorde ett erbjudande för en begagnad Volvo 850 GL och efter Floyd slog, körde den hem.

Det var vår första bil med en CD-spelare. Liksom de flesta nya bilägare, Vi gick en liten CD crazy, upplivade våra vilande CD-samling och gick på långa drivar bara att lyssna på CD-skivor i bilen. Som alla modenycker, Detta passerade för oss och vi slutade lyssna på samma CD om och om igen. I vårt fall, Det var Jesus Christ Superstar.

En av de (många) lysande bitar i det rockoperan sjungs av etableringen religiösa typer, leds av Kajafas, "Översteprästen". De sjunger sin väg till avgöra hur man hanterar "Jesus-problem" och Caiaphas leder dem till slutsatsen att "Jesus måste dö". Refrängen i låten är "bara måste dö, måste dö, måste dö, denna Jesus måste dö". Du hör att avstår många i detta stycke.

På gång, min son var tre år gammal. Du kan förmodligen se där detta kommer.

Jag kom hem från jobbet en dag och min son är i vardagsrummet leker med leksaker och nynna för sig själv. Jag tar ut min jacka, titta igenom mail och alla mina vanliga Walk-in-i-dörren-grejer och jag plötsligt inser att han bara säger, inte riktigt sjunga: "Jesus måste dö, måste dö, måste dö." Jag var förkrossad. Jag kunde bara se honom göra det samtidigt på en av sin baby spela datum på en kompis — förmodligen sist spela datum med att barnet vän.

We pulled that CD out of the Volvo after that 🙂

</slutet>

Technorati Tags: ,

Google accepterade min Live Spaces-blogg I AdSense-Program

UPPDATERING: Som av 03/09, Jag har hittat något sätt att integrera min live spaces-konto med Google Adsense. Microsofts system här verkar för att förhindra alla de tekniska mekanismer som tillhandahåller Google blivande adsense hospits. Jag tenderar att tro detta är främst en bieffekt av den säkerhet som de har byggt till levande utrymmen, inte en direkt ansträngning till göra oduglig Adsense.

Detta är inte en SharePoint-post, men kan vara av intresse för bloggare allmänt.

Någon kommenterade deras Windows Live Spaces-blogg att Google uttryckligen förnekat sin ansökan om att delta i AdSense. Hon teoretiserade att Google förnekat henne eftersom hennes blogg är värd för Windows Live Spaces. Men, Jag var nyligen antagen till programmet för min live spaces-blogg, så politiken har antingen ändras eller Google nekas henne av andra skäl.

Självklart, Jag kan inte se något uppenbart sätt att integrera Google AdSense i min levande utrymme, but it’s a start 🙂

</slutet>

Technorati Tags: ,

Genomföra Master / Detalj relationer med anpassade listor

Forumet användare ofta som frågor som denna:

> Hej,
>
> Säg mig om det finns några möjligheter att bygga en anpassad lista med
> huvud- och detaljsidor typ (som fakturor) utan att använda InfoPath.
>

SharePoint innehåller några av de ruta funktioner som stöder typer av krav som.

I allmänhet, en länkar två listor tillsammans med en uppslagskolumn. Listan innehåller faktura rubrikinformation och B-listan innehåller Fakturadetaljer.

Använda ytterligare listor för att upprätthålla kundnummer, Produktnummer, m.m..

Använda en innehåll frågan webbdel (i MOSS endast) och/eller en data Visa webbdelen för att skapa kopplade vyer av listorna. SQL Server Reporting Services (SRS) är även tillgänglig för det rapporterande sida.

Men, Det finns några viktiga begränsningar som gör det svårt att använda ren out-of-the-box-funktioner för något som är ens måttligt komplexa. Dessa inkluderar:

  • Storleken på relaterade sökning visar vs. "smartness" i kolumnen uppslagstyp. En kolumn uppslagstyp presenterar sig på UI annorlunda beroende på om du har aktiverat Multi-SELECT eller inte. I båda fallen, out-of-the-box kontrollen visar alla tillgängliga objekt från källan listan. Om källistan har 1,000 objekt, Det kommer att vara ett problem. Sökkontroll inte bläddra igenom dessa poster. I stället, Det drar dem alla i kontrollen. Det gör för en mycket besvärliga användargränssnittet både inmatning av data och prestanda.
  • Sökningar "pull tillbaka" en informationskolumn. Du kan aldrig dra tillbaka mer än en kolumn av information från källan listan. Till exempel, Du kan inte välja en kund "12345" och Visa nummer samt kundens namn och adress på samma gång. Sökningen visar bara kunden nummer och inget annat. Detta gör för ett besvärligt och svårt användargränssnitt.
  • Ingen handel-form kommunikation. Jag har skrivit om detta här. Du kan inte genomföra CSS-listrutor, villkorligt aktivera/inaktivera fält, m.m..
  • Ingen sammanhängande borttagning eller inbyggda referensintegritet. SharePoint behandlar anpassade listor som självständiga enheter och tillåter inte dig att länka dem till varandra i en traditionell ERD känsla. Till exempel, SharePoint kan du skapa två anpassade listor, "kunden" och "fakturahuvudet". Du kan skapa en fakturahuvudet som länkar tillbaka till en kund i kundlistan. Sedan, Du kan ta bort kunden från listan. Ur lådan, Det finns inget sätt att förhindra detta. Att lösa denna typ av problem, du skulle normalt använda händelsehanterare.

Det kan tyckas hopplöst, men jag vill fortfarande använda SharePoint som utgångspunkt för att bygga denna typ av funktionalitet. Även om det finns luckor mellan vad du behöver i en lösning, SharePoint gör det möjligt för oss att fylla dessa luckor med hjälp av verktyg som:

  • Händelsehanterare. Använda dem för att använda referensintegritet.
  • Anpassade kolumner: Skapa anpassade kolumntyper och använda dem i stället för uppslagskolumnen standard. Lägg till personsökning, buffring och AJAX funktioner som gör dem lyhörda.
  • BDC. MOSS-bara funktionen ger oss möjlighet att fråga andra SharePoint-listor med en överlägsen användargränssnitt för vanliga uppslagskolumnen. BDC kan också nå ut till ett serverprogram för back-end. Använda Affärsdatakatalogen för att undvika replikering. I stället för replikering av kundinformation från en bakdelen ERP-system, använda Affärsdatakatalogen istället. BDC-funktionerna ger ett trevligt användargränssnitt för att dra denna information direkt från affärssystemet där den hör hemma och undviker besväret med att upprätthålla en replikeringslösning.

    BDC är en funktion som MOSS (inte tillgängligt i WSS) och är en utmaning för att konfigurera.

  • ASP.NET webbformulär: Skapa ett full-featured AJAX-aktiverade formulär som använder SharePoint objektet modell och web services för att utnyttja SharePoint-listor samtidigt som ett mycket lyhörda användargränssnitt.

Det sista alternativet, kanske tycker du börjar från scratch, men anser att det faktum att SharePoint-plattformen börjar du med följande nyckelfunktioner:

  • Säkerhetsmodell med underhåll.
  • Menysystemet med underhåll.
  • "Master tabell" (dvs. anpassade listor) med säkerhet, inbyggda underhåll och revision.
  • Sök.
  • Backend integreringsverktyg (BDC).

Om du startar med ett nytt tomt projekt i visual studio, du har en hel del infrastruktur och VVS att bygga innan du kommer nära till SharePoint erbjuder.

Jag tror att Microsoft planerar att utöka SharePoint i denna riktning för applikationsutveckling. Det verkar som en naturlig förlängning av den befintliga SharePoint som bas. Microsofts CRM-programmet ger stor tänjbarhet av de typer som behövs för att stödja huvudet/Detaljer applikationsutveckling. Även om dessa funktioner finns i CRM, tekniken är givetvis tillgänglig till utvecklingsteamet SharePoint och jag förväntar mig att det kommer att göra sin väg in SharePoint produkten slutet av 2008. Om någon har en kunskap eller insikt i detta, lämna gärna en kommentar.

</slutet>

Snabbtips: Webbdelen för innehållsfråga, Sökning kolumnvärde och XSL

Jag har ett kolumnnamn i en innehållstyp som heter "Real Estate plats".

Kolumnen är av typen "lookup".

Jag har ändrat <CommonViewFields> och ItemStyle.xsl att visa kolumnen.

En enkel <XSL:värdet av Markera =…> Returnerar tillbaka en inre värde som inkluderar ordningsposition data, såsom:

1;#Miami

Att få värdet mänskliga miljövänliga, använda xsl delsträng-efter, som visas:

<XSL:( @ Real_x005F_x0020_Estate_x005F_x0020_Location, '#') ">< / xsl:värdet av >(@ Real_x005F_x0020_Estate_x005F_x0020_Location,’#’)"></XSL:värdet av>

Använd den här tekniken när du arbetar med uppslagsvärden i XSL-transformeringar och behöver för att få mänskliga-vänliga värdet.

<slutet />

Technorati Tags: , ,

SharePoint Beagle December frågan upp & Live

Många av er vet redan detta, men den December upplagan av SharePoint Beagle är live.

Varje artikel är läsvärd enligt min mening.

Jag vill ge en lite extra bula till min kollegas artikel (Natalya Voskrensenskya). Hon ger en skärm-shot extravaganza samtidigt som beskriver hur hon brukade anpassade listor, arbetsflöde, SharePoint Designer, datavyer och andra element för att genomföra en självbetjäning utbildning funktion i MOSS. Hon beskriver tekniker som kan användas i många olika affärsscenarier. Kontrollera hennes blogg medan du är på det.

Glöm inte att kolla in min artikel as well 🙂 I wrote about using MOSS to help an HR department manage open positions.

</slutet>

MOSS berättar “Åtkomst nekad” Redigera en arbetsflödesuppgift, Men jag har verkligen tillgång

Jag har infört ett arbetsflöde med hjälp av SharePoint Designer på en webbplats som är huvudsakligen skrivskyddad till "NT_AUTHORITYAuthenticated användare" (dvs. alla). Det finns ett formulärbibliotek för ett InfoPath-formulär. Det finns ett associerat arbetsflöde uppgiftslistan också så att när arbetsflödet fungerar, Det kan tilldela aktiviteter till människor.

Jag bryta tillstånd för formulärlistan bibliotek och aktivitet så att alla autentiserade användare kan skapa formulär och uppdatera deras tilldelade aktiviteter.

Jag testa med min låg-privilegier testkonto.

Jag kan fylla ut och spara ett formulär i biblioteket? –> Ja

Kan jag komma åt uppgiften från en e-postlänk? –> Ja

Jag kan se en uppgift länken Redigera arbetsflöde –> Ja

Jag kan klicka på den länken? –> Nej … Permission Denied.

Varför kan jag se en redigera länk som förnekar mig tillstånd när jag klickar på det? Det är inte hur det ska fungera…

Jag går igenom säkerhetskonfigurationen igen, mycket nära. Jag gör det igen. Jag anser att ta bort det här inlägget eftersom jag uppenbarligen inte vet något om säkerhet.

Slutligen, Jag söker Internets. Jag finner detta högst osannolikt MSDN forumtråd: http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1838253&SiteID=17

Affischer verkar föreslå att den enkla handlingen att exportera arbetsflödet till en enhet tallrik kommer att fixa en MOSS-säkerhetsproblem? Jag kan knappt tro jag just skrev som. Jag påminns om South Park avsnittet om den 9/11 konspiration där Stan ber våra Preznit, "Verkligen?" om och om igen.

Så, inget att förlora, Jag eld upp SPD, Högerklicka på arbetsflödet och spara den på min c:\ enhet. Det skulle vara c:\ köra på min laptop. Jag tittar över min axel hela tiden så att ingen kommer att fråga mig, "varför du spara arbetsflödet till din laptop?"

Otroligt, som löser mitt problem. Jag kan redigera uppgift.

Jag nominerar härmed detta är den mest bisarra arbetsflöde Workaround för 2007.

</slutet>

Technorati Tags:

SharePoint Designer, Aktuella objektet “Kodad absolut URL” och HTTPS

Vi vill ofta skicka ett e-postmeddelande som innehåller en hyperlänk till objekt eller dokument som utlöste arbetsflödet. Vi kan använda aktuellt objekt "kodad absolut URL" för detta ändamål. Men, Det tycks alltid använda "http" för URL-protokollet. Om din webbplats körs på HTTPS då det inte kommer att fungera för dig.

bild

Såvitt jag vet, Det finns inget ut av den färdiga lösningen på problemet. Om du behöver använda HTTPS, du har inget av alternativet ruta.

Att lösa det, skapa en anpassad åtgärd som ger en sträng Ersätt funktion som ska användas i arbetsflödet. Alternativt, använda en tredje part verktyg såsom utmärkta paketet här: http://www.codeplex.com/spdwfextensions 🙂

</slutet>

Snabb och enkel: Fastställa interna kolumnnamn i en webbplatskolumn

UPPDATERING: Jeremy Thake har bloggat om detta och sätta upp några koden för en konsolapplikation Det visar interna namn.

Jag försökte få en innehåll fråga webbdel visas ett förfallodatum från en aktivitet och eftersom etiketten skärmen är "Förfallodatum", Jag antar att de kolumnnamn för att använda i <CommonViewFields> är "Due_x0020_Date".

Fel!

Verkliga kolumnnamnet var i detta fall "DueDate".

Hur jag hitta den? Jag läsa åter Heather Solomons bloggpost om hur du ändrar CQWP Visa ytterligare kolumner med data. Hon beskriver denna process på steg #13. Lita på det. Det är korrekt. Minst, Det var rätt för mig. Jag litade inte det först för en annan kolumn med en mycket längre namn.

Jag säger "lita på det" eftersom jag inte litade på det och förmodligen slösat nära två timmar laskning mitt huvud mot väggen. Efter att jag löst det "DueDate" Namn, Jag ville lägga till ett annat fält till <CommonViewFields>. Med hjälp av Solomon teknik, Jag fick ett kolumnnamn som "XYZ_x0020_Project_x0020_Due_x00".

Jag tänkte för mig själv, Det är helt klart ett trunkerade namn. Jag gick vidare och un-stympad det utan framgång. Slutligen använde jag det till synes trunkerade namnet och det fungerade.

Bonus tips: När jag arbetade med CQWP, om jag lagt till ett dåligt interna namn till <CommonViewFields>, CQWP skulle berätta för mig att frågan hade returneras inga resultat. Men, om jag la en datatyp till fältnamnet, Det skulle returnera ett resultat. Lägga till uppgifterna om maskerade typ faktiskt ett problem eftersom jag var referenser ett icke-existerande fält. Jag skulle kunna lägga det, men när jag försökte Visa dess värde, Jag skulle alltid få en tom.

Det inte dölja felet:

<CommonViewFields>Due_x0020_Date;</CommonViewfields>

Detta maskera fel:

<CommonViewFields>Due_x0020_Date,DateTime;</CommonViewfields>

</slutet>

Akta dig bryta ändringar till ItemStyle.xsl

Jag arbetade med ItemStyle.xsl att anpassa utseendet på en webbdelen för innehållsfråga och rätt lunch dags, Jag gjorde en brytande ändra till xsl. Jag visste inte att det, men detta hade långtgående effekterna i hela webbplatssamlingen. Jag gick på lunch och på min återkomst, märkte detta meddelande som visas i en massa platser:

Det går inte att visa den här webbdelen. Felsökning av problemet, Öppna den här sidan i en Windows SharePoint Services-kompatibel HTML-redigerare, till exempel Microsoft Office SharePoint Designer. Om problemet kvarstår, Kontakta webbserveradministratören.

Jag skyllde på klienten (inte insåg ännu att det var mitt fel på denna punkt) men så småningom märkte att visual studio intellisense var varnar mig att jag hade felaktigt XSL. Jag korrigerade det och allt började arbeta.

Vara förbaskad försiktig när du arbetar med ItemStyle.xsl (och någon av de globala XSL-filerna) — bryta dem påverkar många artefakter i webbplatssamlingen.

<slutet />