maandelijkse archieven: December 2007

Denken over commerciële producten

Ik zette een SharePoint Designer extensies project tot op CodePlex eerder dit jaar en hoewel het echt heel in omvang beperkt is, Ik schat dat het wordt gedownload door 40 Aan 60 (misschien zelfs 100) bedrijven in zowat twee maanden. Dat geeft aan mij dat er een markt voor die oplossing is en als ik moest het met succes te commercialiseren, that could translate into a goodly amount of beer 🙂

Mijn achtergrond is eigenlijk veel meer in productontwikkeling en ik weet wat nodig is om een top-notch product is, in tegenstelling tot een CodePlex hobby project, op de markt. In mijn vorig leven, Ik was verantwoordelijk voor het product R&D voor alle softwareproducten. Het verschil tussen toen en nu is dat ik een consultant die nu werkt ben voor een (Uitstekend) Consulting firma (Conchango). Eerder, Ik had een hele bedrijf achter me en voor me, verkoop en ondersteuning van de producten die wij op de markt gebracht. Vandaag, Ik zou alleen.

Ik heb verschillende productideeën in het achterhoofd, maar ik denk dat de makkelijkste zou zijn het creëren van een commerciële versie van het bovengenoemde CodePlex project dat gebruikt die als uitgangspunt en reikt het verder. Mijn fuzzy off-the-cuff denken is in rekening te brengen iets als $100 voor een onbeperkte ontwikkelaar licentie en $500 per productie Webfront-end. Ik denk dat ik zou ook de broncode weggeven.

Hebt u gedachten of ervaringen die u bereid bent te delen, laat alstublieft een reactie of mij direct e-mail. Ik zou graag willen horen van de adviezen zoals:

  • Is het allemaal de moeite waard?
  • Praktische suggesties voor marketing, verzamelen van geld, distributie.
  • Prijzen.
  • Ondersteuning.
  • Andere commentaar u zou willen verlaten.

Het is "gemakkelijk" om te komen met ideeën voor producten en uit te voeren, al vele tientallen uren van het werk nodig zijn. De andere spul is niet zo eenvoudig voor mij.

</einde>

Technorati Tags:

Zondag ochtend grappig: “Jezus moet sterven”

We kochten onze eerste (en alleen) "luxe" auto terug wanneer Orkaan Floyd genageld de oostkust van de VS. We hebben een HELEBOEL regen hier in New Jersey en verschillende dagen verstreken voordat leven keerde terug naar normaal. Net voordat Floyd getroffen, we gedaan een voorstel voor een gebruikte Volvo 850 GL en na Floyd trof, het reed huis.

Het was onze eerste auto met een CD-speler. Zoals de meeste nieuwe auto-eigenaren, We gingen een beetje gek van de CD, nieuw leven ingeblazen onze slapende CD-collectie en ging op lange ritten net te luisteren naar CD's in de auto. Zoals alle FAD 's, dit doorgegeven voor ons en we eindigde over en weer luisteren naar dezelfde CD. In ons geval, het was Jesus Christ Superstar.

Een van de (veel) briljante stukken in dat rockopera wordt gezongen door de vestiging religieuze types, onder leiding van Kajafas, de "hoge priester". Ze zingen hun manier bepalen hoe omgaan met de "Jezus probleem" en Caiaphas leidt hen tot de conclusie dat "Jezus sterven moet". Het refrein van het lied is "gewoon moet sterven, moet sterven, moet sterven, Deze Jezus moet sterven". U hoort dat een veel in dat stuk onthouden.

Op het moment, mijn zoon was ongeveer drie jaar oud. U kunt waarschijnlijk zien waar dit gaat.

Ik kwam thuis van het werk een dag en mijn zoon is in de woonkamer spelen met speelgoed en neuriën zichzelf. Ik ben mijn jas opstijgen, op zoek via de mail en al die mijn gebruikelijke Walk-in-in-de-deur spul en ik plotseling beseffen dat hij gewoon zegt, niet echt zingen: "Jesus moet sterven, moet sterven, moet sterven." Ik was gekrenkt. Ik kon gewoon zien hem dat te doen terwijl op één van zijn baby spelen datums bij een vriend het huis — waarschijnlijk de laatste datum met die vriend baby spelen.

We pulled that CD out of the Volvo after that 🙂

</einde>

Google heeft mijn Blog Live Spaces aanvaard in het AdSense-programma

UPDATE: Als van 03/09, Ik heb geen manier om te integreren mijn live Spaces-account met Google Adsense. Microsofts systeem hier lijkt om te voorkomen dat alle van de technische mechanismen die Google would-be adsense hosters biedt. Ik ben geneigd te geloven dat dit is voornamelijk een neveneffect van de zekerheid die ze hebben gebouwd in levende ruimten, niet een directe inspanning om Adsense onbruikbaar te maken.

Dit is niet een SharePoint-post, maar misschien wel van belang zijn voor bloggers in het algemeen.

Iemand heeft gereageerd op hun Windows Live Spaces blog dat Google bevestigend geweigerd hun toepassing om deel te nemen in AdSense. Ze theorie dat Google haar geweigerd omdat er bepaalde Windows Live Spaces gastheren haar blog. Echter, Ik was onlangs toegelaten tot het programma voor mijn blog live spaties, zodat het beleid heeft gewijzigd of Google geweigerd haar om een andere reden.

Natuurlijk, Ik zie niet een voor de hand liggende manier om te integreren Google AdSense in mijn live space, but it’s a start 🙂

</einde>

Technorati Tags: ,

Uitvoering van Master / Detail relaties met behulp van aangepaste lijsten

Forumgebruikers vaak als vragen als deze:

> Hallo,
>
> Vertel me als er zijn mogelijkheden om te bouwen van een aangepaste lijst met
> hoofd- en detailpagina type (Als facturen) zonder het gebruik van InfoPath.
>

SharePoint biedt een aantal uit het vak functies die soorten zakelijke vereisten als dat ondersteunen.

In het algemeen, een verbindt twee lijsten samen met behulp van een opzoekkolom. Lijst A bevat de factuur header-informatie en lijst B Factuurdetails.

Aanvullende lijsten te handhaven klantnummers gebruiken, productnummers, etc.

Een webonderdeel Inhoudsquery gebruiken (in MOSS alleen) en/of een gegevensweergave webonderdeel om samengevoegde weergaven van de lijsten te maken. SQL Server Reporting Services (SRS) is ook beschikbaar voor de rapportage kant van het.

Echter, Er zijn enkele belangrijke beperkingen die het gebruik van pure out-of-the-box functies voor iets dat is zelfs matig complexe moeilijk zal maken. Deze omvatten:

  • Grootte van verwante lookup lijsten vs. "intelligentie" van het type van de kolom opzoeken. Een type van de kolom opzoeken presenteert zich op de UI anders afhankelijk van of u meerdere selecteren hebt ingeschakeld of niet. In beide gevallen, de out-of-the-box controle toont alle beschikbare items vanuit de bronlijst. Als de bronlijst 1,000 items, dat gaat een probleem. De lookup-besturingselement doet niet pagina door deze items. In plaats daarvan, het trekt ze allemaal in het besturingselement. Dat maakt voor een zeer lastige user interface zowel in termen van gegevensinvoer en prestaties.
  • Zoekacties "pull terug" een kolom met gegevens. U kunt nooit meer dan één kolom met gegevens uit de bronlijst terugtrekken. Bijvoorbeeld, u kunt een klant "12345 niet selecteren" en het aantal, alsmede de naam en adres van de klant weer te geven op hetzelfde moment. De zoekopdracht alleen blijkt de klant nummer en niets anders. Dit zorgt voor een lastig en moeilijk user interface.
  • Geen communicatie intra-formulier. Ik heb geschreven over dit hier. U kan niet implementeren cascading drop-downs, voorwaardelijk inschakelen/uitschakelen velden, etc.
  • Geen trapsgewijze verwijderingen of ingebouwde referentiële integriteit. SharePoint behandelt aangepaste lijsten als onafhankelijke entiteiten en staat niet toe dat u hen aan elkaar te koppelen in een traditionele ERD zin. Bijvoorbeeld, SharePoint kunt u twee aangepaste lijsten maken, "klant" en "factuurkop". U kunt een factuurkop die links terug naar een klant in het Klantenoverzicht. Vervolgens, u kunt de klant uit de lijst verwijderen. Out of the box, Er is geen manier om dit te voorkomen. Om op te lossen van dit soort problemen, normaal zou u gebeurtenis-handlers gebruiken.

Het lijkt misschien somber, maar ik zou nog steeds SharePoint gebruiken als een beginpunt voor het bouwen van dit soort functionaliteit. Hoewel er verschillen zijn tussen wat je nodig hebt in een oplossing, SharePoint laat ons die met behulp van tools zoals leemten aan te vullen:

  • Gebeurtenis-handlers. Ze gebruiken om referentiële integriteit afdwingen.
  • Aangepaste kolommen: Aangepaste kolomtypen maken en ze te gebruiken in plaats van de standaard opzoekkolom. Toevoegen van wisselbestand, bufferen en AJAX functies waarmee ze responsieve.
  • BDC. Deze functie alleen-MOSS stelt ons in staat om query die andere SharePoint-met een superieure gebruikersinterface aan de gebruikelijke opzoekkolom lijsten. BDC kan ook bereiken om een back-end server-toepassing. Gebruik de BDC om te voorkomen dat replicatie. In plaats van klantgegevens repliceren vanaf een back-end ERP-systeem, BDC gebruiken. BDC-functies bieden een aardig gebruikersinterface te trekken die informatie rechtstreeks vanuit het ERP systeem waar het behoort en vermijdt het gedoe van de handhaving van een replicatieoplossing.

    BDC is een functie van MOSS (niet beschikbaar in WSS) en het is uitdagend om te configureren.

  • ASP.NET webformulier: Een full-featured AJAX-enabled formulier maken dat de SharePoint object model en/of web services wordt gebruikt om de invloed van SharePoint-lijsten en biedt een zeer responsieve gebruikersinterface.

De laatste optie kan het gevoel dat je van kras begint, maar rekening met het feit dat het SharePoint-platform u met de volgende kenmerken begint:

  • Beveiligingsmodel met onderhoud.
  • Menusysteem met onderhoud.
  • "Master tabel" (dwz. aangepaste lijsten) met beveiliging, ingebouwde onderhoud en controle van jaarrekeningen.
  • Zoek.
  • Back-end integratie tools (BDC).

Als u in visual studio met een nieuw, leeg project starten, je hebt een heleboel infrastructuur en sanitair te bouwen voordat u krijgen dicht bij wat SharePoint biedt.

Ik geloof dat Microsoft van plan is om uit te breiden van SharePoint in deze richting van applicatie-ontwikkeling. Het schijnt als een natuurlijke uitbreiding van de bestaande SharePoint base. De Microsoft CRM-toepassing biedt een grote hoeveelheid uitbreidbaarheid van de typen ter ondersteuning van kop-/ detailsectie toepassingsontwikkeling. Hoewel deze functies in CRM zijn, de technologie is uiteraard beschikbaar voor de SharePoint-ontwikkelteam en ik verwacht dat het zijn weg naar het SharePoint-product eind maken zal 2008. Als iemand een kennis of inzicht in dit heeft, laat alstublieft een reactie.

</einde>

Quick Tip: Webonderdeel Inhoudsquery, Waarde van de kolom opzoeken en XSL

Ik heb de kolomnaam van een in een inhoudstype genaamd "Real Estate locatie".

Die kolom is van het type "opzoeken".

Ik heb bewerkt <CommonViewFields> en ItemStyle.xsl de kolom wilt weergeven.

Een eenvoudige <XSL:Selecteer waarde-van =…> retourneert terug een interne waarde die de ordinale positiegegevens bevat, zoals:

1;#Miami

Als u de waarde van de mens-vriendelijke, gebruik xsl subtekenreeks-na, zoals:

<XSL:(@ Real_x005F_x0020_Estate_x005F_x0020_Location, '#') ">< / xsl:waarde-van >(@ Real_x005F_x0020_Estate_x005F_x0020_Location,’#’)"></XSL:waarde-van>

Deze techniek gebruiken wanneer u met opzoekwaarden in XSL-transformaties werkt en moet ertoe de mens-vriendelijke waarde.

<einde />

Technorati Tags: , ,

SharePoint Beagle decembernummer omhoog & Live

Velen van u weten al, maar de December uitgave van SharePoint Beagle Live.

Elk artikel is de moeite waard lezing in mijn mening.

Ik wil een beetje extra hobbel te geven mijn collega's artikel (Natalya Voskrensenskya). Ze biedt een scherm-schot extravaganza terwijl beschrijven hoe ze gebruikt aangepaste lijsten, werkstroom, SharePoint Designer, gegevensweergaven en andere elementen om een selfservice opleiding functie in MOSS. Ze beschrijft technieken die kunnen worden toegepast in veel verschillende bedrijfsscenario 's. Uitchecken haar blog terwijl u 're aan het.

Vergeet niet om te controleren mijn artikel as well 🙂 I wrote about using MOSS to help an HR department manage open positions.

</einde>

MOSS vertelt Me “Toegang geweigerd” een werkstroomtaak bewerken, Maar ik heb echt toegang

Ik heb uitgevoerd een workflow in een site die voornamelijk alleen-lezen te NT_AUTHORITYAuthenticated gebruikers"met behulp van SharePoint Designer" (dwz. iedereen). Er is een formulierenbibliotheek voor een InfoPath-formulier. Er is een bijbehorende workflow takenlijst zo goed, zodat wanneer de werkstroom werkt, het kan ook taken toewijzen aan personen.

Ik breken toestemming voor de formulieren bibliotheek en taak lijst zodat elke geverifieerde gebruiker kan formulieren maken en hun toegewezen taken bijwerken.

Ik test met mijn lage-voorrechten testaccount.

Kan vul ik uit en een formulier aan de bibliotheek opslaan? –> JA

Kan ik toegang tot de taak van een e-mail link? –> JA

Ik kan zien een link bewerken werkstroom taak –> JA

Ik kan Klik op deze link? –> NO … Toestemming geweigerd.

Waarom kan ik een koppeling bewerken dat me toestemming ontkent wanneer ik klik op het zien? Dat is niet hoe het heeft verondersteld om te werken…

Ik ga door de beveiligingsconfiguratie opnieuw, zeer nauw. Ik doe het weer. Ik vind dit bericht verwijderen omdat ik uiteraard niet niets over beveiliging weet.

Tot slot, Ik zoek de Internets. Ik vind deze hoogst onwaarschijnlijk MSDN forumthread: http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1838253&SiteID=17

De posters lijken te suggereren dat de eenvoudige handeling van de workflow exporteren naar een station schotel een beveiligingsprobleem MOSS vast zal? Ik kan nauwelijks geloven dat ik typte die. Ik ben herinnerd aan de South Park-aflevering over de 9/11 samenzwering Stan waar onze Preznit vraagt, "Echt?" over en weer.

Dus, niets te verliezen, Ik brand-up EPD, Klik met de rechtermuisknop op de werkstroom en sla het op mijn c:\ station. Dat zou de c:\ schijf op mijn laptop. Ik ben op zoek over mijn schouder de hele tijd zodat niemand me zal vragen, "waarom u opslaat die werkstroom op uw laptop?"

Ongelooflijk, dat is mijn probleem opgelost. Ik kan de taak bewerken.

Ik benoemen hierbij dit als de meest Bizarre Workflow-oplossing van 2007.

</einde>

Technorati Tags:

SharePoint Designer, Van het huidige Item “Gecodeerde Absolute URL” en HTTPS

Wij willen vaak Stuur een email met een hyperlink naar het item of document dat de werkstroom geactiveerd. We kunnen het gebruik van het huidige item "gecodeerd Absolute URL" voor dit doel. Echter, het lijkt altijd te gebruiken "http" voor de URL-protocol. Als uw site op HTTPS draait zal dan het niet werken voor u.

afbeelding

Voor zover ik weet, Er is geen out van de box oplossing voor dit probleem. Als u wilt gebruiken HTTPS, je hebt geen uit de optie vak.

Te lossen, een aangepaste actie waarmee een tekenreeks vervangen functie om te gebruiken in uw workflow maakt. U kunt ook, Gebruik een 3rd party tool zoals het uitstekende pakket hier: http://www.codeplex.com/spdwfextensions 🙂

</einde>

Snel en eenvoudig: Interne kolomnaam van de sitekolom van een bepalen

UPDATE: Jeremy Thake heeft geblogd over dit en sommige opgemaakt code voor een consoletoepassing dat toont interne namen.

Ik probeerde om een webonderdeel Inhoudsquery een einddatum van een taak weer en omdat het scherm label is "Vervaldatum", Ik veronderstelde dat de kolomnaam te gebruiken <CommonViewFields> is "Due_x0020_Date".

Verkeerde!

De echte kolomnaam was in dit geval "DueDate".

Hoe vond ik het? Ik herlezen Heather Solomon's blog entry over het wijzigen van CQWP om te laten zien van extra kolommen met gegevens. Ze beschrijft dit proces bij stap #13. Vertrouwt op het. Het is juist. Ten minste, het was voor mij juiste. Ik heb niet vertrouwt op het eerste voor een andere kolom met een veel langere naam.

Ik zeg "Trust het" want ik niet vertrouwt heb en waarschijnlijk verspild in de buurt van twee uur stoten mijn hoofd tegen een muur. Nadat ik de "DueDate opgelost" naam, Ik wilde toevoegen aan een ander veld <CommonViewFields>. Met behulp van de Solomon-techniek, Ik kreeg een kolomnaam als "XYZ_x0020_Project_x0020_Due_x00".

Ik dacht bij mezelf, dat is duidelijk een afgekapte naam. Ging ik vooruit en un-afgekapte met geen succes. Ik ten slotte de schijnbaar afgekapte naam gebruikt en het werkte.

Uiteinde van de bonus: Toen ik bezig was met de CQWP, Als ik een slechte interne naam aan toegevoegd <CommonViewFields>, de CQWP zou vertellen me dat de query had heeft geen resultaten opgeleverd. Maar, Als ik een gegevenstype aan het veldnaam toegevoegd, het zou een resultaat te retourneren. Toevoegen van de gegevens type eigenlijk gemaskeerd een probleem aangezien ik was referencement een onbestaande veld. Ik zou het toevoegen, maar toen ik probeerde om de waarde weer te geven, Ik zou altijd krijgen een leeg.

Dit deed de fout niet maskeren:

<CommonViewFields>Due_x0020_Date;</CommonViewfields>

Dit het maskeren van de fout:

<CommonViewFields>Due_x0020_Date,DateTime;</CommonViewfields>

</einde>

Pas op breken veranderingen naar ItemStyle.xsl

Ik werkte met ItemStyle.xsl om het uiterlijk van een webonderdeel Inhoudsquery en recht over lunchtijd aanpassen, Ik maakte een breken wijzigen aan de xsl. Ik wist niet dat het, maar dit had verstrekkende gevolgen in de gehele siteverzameling. Ik ging voor de lunch en bij mijn terugkeer, merkte dit bericht verschijnen in een bos van plaatsen:

Onvermogend voor dit webonderdeel weergeven. U kunt het probleem oplossen, deze webpagina openen in een Windows SharePoint Services-compatibele HTML-editor zoals Microsoft Office SharePoint Designer. Als het probleem aanhoudt, Neem contact op met uw webserverbeheerder.

Ik de schuld van de client (niet realiserend nog dat het was mijn schuld op dit punt) maar uiteindelijk zag dat visuele studio intellisense was waarschuwing mij welk mij had verkeerd ingedeelde XSL. Ik gecorrigeerd en alles begon te werken.

Verdomde voorzichtig bij het werken met ItemStyle.xsl (en een van de wereldwijde XSL-bestanden) — breken ze treft vele artefacten in de siteverzameling.

<einde />