maandelikse Argiewe: Desember 2007

Dink oor kommersiële produkte

Ek het 'n SharePoint Designer uitbreidings projek tot by CodePlex vroeër vanjaar en selfs al is dit is nogal regtig beperk in omvang, Ek skat dat dit afgelaai deur 40 aan 60 (moontlik selfs 100) companies in just about two months. That indicates to me that there’s a market for that solution and if I were to successfully commercialize it, that could translate into a goodly amount of beer 🙂

My agtergrond is eintlik baie meer in die produk-ontwikkeling, en ek weet wat nodig is om 'n top-notch produk te bring, in teenstelling met 'n CodePlex stokperdjie projek, to market. In my verlede lewe, Ek was verantwoordelik vir die produk R&D for all software products. The difference between then and now is that I’m a consultant now working for an (uitstekende) raadgewende firma (Conchango). Voorheen, Ek het 'n hele maatskappy agter my en voor my, selling and supporting the products we brought to market. Vandag, Ek wil alleen wees.

Ek het 'n paar produk idees in gedagte, but I think the easiest would be to create a commercial version of the above-mentioned CodePlex project that uses that as a starting point and extends it further. My fuzzy off-the-cuff thinking is to charge something like $100 vir 'n onbeperkte ontwikkelaar lisensie en $500 per production web front end. I think I would also give away the source code.

As jy gedagtes of ervarings wat jy bereid om te deel, los 'n kommentaar of e-pos my direk. I’d like to hear opinions like:

  • Is dit alles die moeite werd?
  • Praktiese voorstelle vir bemarking, samel geld in, verspreiding van.
  • Pryse.
  • Ondersteun.
  • Enige ander kommentaar wat jy wil laat.

Dit is maklik" vorendag te kom met die produk idees en om hulle te implementeer, though many dozens of hours of work are required. The other stuff is not as easy for me.

</einde>

Technorati Tags:

Sondagoggend Funny: “Jesus moet sterf”

Wat ons gekoop het ons eerste (en slegs) "Luukse" car back when hurricane Floyd nailed the east coast of the U.S. We got a LOT of rain here in New Jersey and n paar dae geslaag before life returned to normal. Just before Floyd struck, ons het 'n aanbod vir 'n gebruikte Volvo 850 GL en na Floyd getref, gery het dit in die huis.

It was our first car with a CD player. Like most new car owners, ons het 'n bietjie CD crazy, revived our dormant CD collection and went on long drives just to listen to CD’s in the car. Like all fads, this passed for us and we ended listening to the same CD over and over again. In ons geval, dit was Jesus Christ Superstar.

Een van die (baie) briljante stukke in daardie rock opera gesing deur die vestiging godsdienstige tipes, gelei deur Kajafas, the "High Priest". They sing their way into deciding how to handle the "Jesus problem" and Caiaphas directs them to the conclusion that "Jesus must die". The refrain on the song is "Just must die, Moet sterf, Moet sterf, this Jesus must die". You hear that refrain a lot in that piece.

Op die oomblik, my son was about three years old. You can probably see where this is going.

I came home from work one day and my son is in the living room playing with toys and humming to himself. I’m taking off my jacket, soek deur die pos en al my gewone loop-in-die-deur goed en het ek skielik besef dat hy net sê, nie regtig sing: "Jesus moet sterf, Moet sterf, must die." I was mortified. I could just see him doing that while on one of his baby play dates at a friend’s house — waarskynlik die laaste toneelstuk datum met wat baba vriend.

We pulled that CD out of the Volvo after that 🙂

</einde>

Technorati Tags: ,

Google My Live Spaces Blog aanvaar het in die AdSense-program

UPDATE: Soos van 03/09, I have found no way to integrate my live spaces account with Google Adsense. Microsoft’s system here seems to prevent all of the technical mechanisms that Google provides would-be adsense hosters. I tend to believe this is mainly a side effect of the security they’ve built into live spaces, not a direct effort to disable Adsense.

Dit is nie 'n SharePoint post, maar dalk van belang om te bloggers die algemeen.

Someone commented on their Windows Live Spaces blog that Google affirmatively denied their application to participate in AdSense. She theorized that Google denied her because Windows Live Spaces hosts her blog. Egter, Ek was onlangs in die program aanvaar vir my lewe ruimtes blog, sodat die beleid het nie verander of Google ontken haar vir 'n ander rede.

Natuurlik, Ek sien nie enige ooglopende manier om Google AdSense te integreer in my lewe ruimte, but it’s a start 🙂

</einde>

Technorati Tags: ,

Implementering van Meester / Die Detail Verhoudings Gebruik Custom Lyste

Forum gebruikers dikwels as vrae soos hierdie:

> Hallo,
>
> Sê asseblief vir my as daar enige moontlikhede om 'n persoonlike lys op te bou met
> meester en detail tipe (soos fakture) sonder die gebruik van Path.
>

SharePoint bied 'n paar uit die boks funksies wat ondersteun soorte van die maatskappy se behoeftes soos wat.

In die algemeen, one links two lists together using a lookup column. List A contains the invoice header information and list B contains invoice details.

Gebruik die addisionele lyste kliënt getalle te handhaaf, produk getalle, ens..

Gebruik 'n inhoud navraag web deel (slegs in Moss) and/or a data view web part to create merged views of the lists. SQL Server Reporting Services (SRS) is ook beskikbaar vir die aanmelding kant van.

Egter, there are some important limitations that will make it difficult to use pure out-of-the-box features for anything that is even moderately complex. These include:

  • Grootte van verwante lookup lyste vs. "Intelligensie" of the lookup column type. A lookup column type presents itself on the UI differently depending on whether you’ve enabled multi-select or not. In either case, the out-of-the-box control shows all available items from the source list. If the source list has 1,000 items, that’s going to be a problem. The lookup control does not page through those items. In plaas daarvan, it pulls all of them into the control. That makes for a very awkward user interface both in terms of data entry and performance.
  • Soektogte "terug te trek" one column of information. You can never pull back more than one column of information from the source list. Byvoorbeeld, jy kan nie 'n kliënt kies "12.345" and display the number as well as the customer’s name and address at the same time. The lookup only shows the customer number and nothing else. This makes for an awkward and difficult user interface.
  • No intra-form communication. Ek het geskryf oor hierdie hier. You can’t implement cascading drop-downs, voorwaardelik in staat gestel / afskakel velde, ens..
  • No cascading deletes or built-in referential integrity. SharePoint treats custom lists as independent entities and does not allow you to link them to each other in a traditional ERD sense. Byvoorbeeld, SharePoint kan jy twee persoonlike lyste te skep, "Kliënt" and "invoice header". You can create an invoice header that links back to a customer in the customer list. Toe, you can delete the customer from the list. Uit die boks, there is no way to prevent this. To solve this kind of problem, jy nie normaalweg sou geval hanteerders gebruik.

Dit mag lyk donker, but I would still use SharePoint as a starting point for building this kind of functionality. Though there are gaps between what you need in a solution, SharePoint ons in staat stel om daardie gapings te vul wat die gebruik van gereedskap soos:

  • Event hanteerders. Use them to enforce referential integrity.
  • Custom kolomme: Create custom column types and use them in lieu of the default lookup column. Add paging, buffer en om AJAX funksies te maak hulle ontvanklik.
  • BDC. This MOSS-only feature enables us to query other SharePoint lists with a superior user interface to the usual lookup column. BDC can also reach out to a back end server application. Use BDC to avoid replication. Rather than replicating customer information from a back end ERP system, use BDC instead. BDC features provide a nice user interface to pull that information directly from the ERP system where it belongs and avoids the hassle of maintaining a replication solution.

    BDC is 'n MOSS funksie (nie beskikbaar in WSS) and is challenging to configure.

  • ASP.NET web vorm: Skep 'n volle funksionaliteit AJAX-enabled vorm wat gebruik die SharePoint voorwerp model en / of web dienste te hefboom SharePoint lyste, terwyl die verskaffing van 'n baie ontvanklik gebruikerskoppelvlak.

Die laaste opsie kan voel soos jy begin van nuuts af, maar kyk na die feit dat die SharePoint platform begin jy met die volgende belangrike funksies:

  • Sekuriteit model met onderhoud.
  • Menu met onderhoud.
  • "Meester tafel" (d.w.z. persoonlike lyste) met sekerheid, gebou-instandhouding en ouditering.
  • Soek.
  • Terug einde integrasie gereedskap (BDC).

As jy begin met 'n nuwe leë projek in Visual Studio, jy het 'n baie infrastruktuur en loodgieterswerk te bou voor jy naby wat SharePoint bied,.

I do believe that Microsoft intends to extend SharePoint in this direction of application development. It seems like a natural extension to the existing SharePoint base. Microsoft’s CRM application provides a great deal of extensibility of the types needed to support header/detail application development. Although those features are in CRM, the technology is obviously available to the SharePoint development team and I expect that it will make its way into the SharePoint product by end of 2008. If anyone has an knowledge or insight into this, los 'n comment.

</einde>

Vinnige Wenk: Inhoud Query Web Deel, Soek Kolom Waarde en XSL

Ek het 'n kolom naam in 'n inhoud-tipe, genaamd "Real Estate Plek".

Hierdie kolom is van die tipe "lookup".

Ek het verander <CommonViewFields> en ItemStyle.xsl die kolom om aan te toon.

'N eenvoudige <xsl:waarde van kies =…> . Retour terug 'n interne waarde wat ordinale posisie data, soos:

1;#Miami

Die mens-waarde te kry, Gebruik xsl substring-na, soos aangedui:

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

Gebruik hierdie tegniek wanneer jy besig is met die opsoektabel waardes in XSL-transforms en nodig het om die mens-waarde te kry.

<einde />

Technorati Tags: , ,

SharePoint Beagle Desember-uitgawe & Leef

Baie van julle weet dat dit reeds, maar die Desember-uitgawe van SharePoint Beagle is live.

Elke artikel is die moeite werd lesing in my mening.

Ek wil 'n bietjie ekstra stamp te gee aan my kollega se artikel (Natalya Voskrensenskya). She provides a screen-shot extravaganza while describing how she used custom lists, workflow, SharePoint Designer, data views and other elements to implement a self-service training feature in MOSS. She describes techniques that can be applied in many different business scenarios. Check out haar blog terwyl jy.

Moenie vergeet om te kyk na my artikel as well 🙂 I wrote about using MOSS to help an HR department manage open positions.

</einde>

MOSS my vertel “Toegang geweier” 'n Workflow taak te wysig, Maar ek het regtig Het Access

Ek het in 'n site wat hoofsaaklik net lees "NT_AUTHORITY bekragtigde gebruikers toegepas word geïmplementeer om 'n werk met 'SharePoint Designer" (d.w.z. almal). There is a forms library for an InfoPath form. There is an associated workflow tasks list as well so that when the workflow operates, dit kan toewys take aan mense.

Ek verbreek toestemming vir die biblioteek en taak lys sodat 'n geverifieerde gebruiker vorms kan skep en werk hulle toegewysde take.

I test with my low-privileges test account.

Kan ek vul en red 'n vorm aan die biblioteek? –> JA

Kan ek toegang tot die taak van 'n e-pos skakel? –> JA

Kan ek sien 'n Edit skakel workflow taak om –> JA

Kan ek op die skakel kliek? –> GEEN … Toestemming geweier.

Hoekom kan ek sien 'n skakel wysig wat my toestemming ontken wanneer ek op? That’s not how it’s supposed to work…

Ek gaan weer deur die sekuriteits verstellings, very closely. I do it again. Ek oorweeg om hierdie pos te skrap omdat ek natuurlik nie weet nie enigiets oor die veiligheid.

Ten slotte, I search the Internets. I find this highly unlikely MSDN forum thread: http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1838253&SiteID=17

Die plakkate vertoon word wat daarop dui dat die eenvoudige daad van die uitvoer van die werksvloei te 'n ry skottel sal 'n MOSS sekuriteit probleem op te los? I can hardly believe I just typed that. I’m reminded of the South Park episode about the 9/11 sameswering waar Stan vra ons Preznit om, "Werklik?" over and over again.

So, niks om te verloor nie, Ek brand SPD, regs-kliek op die workflow en stoor dit in my c:\ drive. That would be the c:\ drive on my laptop. I’m looking over my shoulder the whole time so that no one will ask me, "Hoekom is jy spaar dat workflow na jou laptop?"

Ongelooflik, that solves my problem. I can edit the task.

Ek benoem hiermee die mees bisarre Workflow tydelike oplossing van 2007.

</einde>

Technorati Tags:

SharePoint Designer, Huidige item “Gekodeer Absolute URL” en HTTPS

We often want to send an email that includes a hyperlink to the item or document that triggered the workflow. We can use current item’s "Encoded Absolute URL" for this purpose. Egter, dit lyk altyd "http te gebruik" for the URL protocol. If your site runs on HTTPS then it will not work for you.

beeld

Sover ek weet, there is no out of the box solution to this problem. If you need to use HTTPS, jy het nie uit die boks opsie.

Om dit op te los, create a custom action that provides a string replace function to use in your workflow. Alternatively, gebruik 'n 3de party hulpmiddel soos die uitstekende pakket hier: http://www.codeplex.com/spdwfextensions 🙂

</einde>

Technorati Tags: ,

Vinnige en maklike: Bepaal Interne kolom naam van 'n kolom Site

UPDATE: Jeremy Thake blog oor en sit 'n paar kode vir 'n konsole aansoek wat interne name toon.

Ek het probeer om 'n inhoud navraag web deel te kry om 'n vervaldatum van 'n taak om te wys, en omdat die skerm van 'n etiket "vervaldatum", Ek aanvaar dat die kolom naam te gebruik in <CommonViewFields> "Due_x0020_Date".

Verkeerd!

Die werklike kolom naam in hierdie geval was "DueDate".

Hoe het ek dit vind? I re-read Heather Salomo se blog inskrywing op die wysiging van CQWP to show additional columns of data. She describes this process at step #13. Trust it. It’s correct. Ten minste, it was correct for me. I did not trust it at first for another column with a much longer name.

Ek sê "Vertrou dit" because I did not trust it and probably wasted near two hours butting my head up against a wall. After I resolved the "DueDate" naam, Ek wou 'n ander veld toe te voeg tot <CommonViewFields>. Using the Solomon technique, Ek was besig om 'n kolom naam soos "XYZ_x0020_Project_x0020_Due_x00".

Ek het gedink, that’s clearly a truncated name. I went ahead and un-truncated it with no success. I finally used the seemingly truncated name and it worked.

Bonus punt: Wanneer ek besig was met die CQWP, as ek by 'n slegte interne naam <CommonViewFields>, the CQWP would tell me that the query had returned no results. Maar, as ek by 'n datatipe aan die gebied se naam, it would return a result. Adding the data type actually masked a problem since I was referencing a non-existent field. I could add it, Maar toe ek probeer het om die waarde daarvan om te wys, I would always get a blank.

Dit het nie masker die fout:

<CommonViewFields>Due_x0020_Date;</CommonViewfields>

Dit het verdoesel die fout:

<CommonViewFields>Due_x0020_Date,Date Time;</CommonViewfields>

</einde>

Pasop Breaking veranderinge aan ItemStyle.xsl

Ek was met ItemStyle.xsl werk om die voorkoms van 'n inhoud navraag Web Deel en reg aan te pas oor middagete, I made a breaking change to the xsl. I didn’t realize it, but this had far reaching effects throughout the site collection. I went off to lunch and upon my return, opgemerk hierdie boodskap verskyn in 'n klomp plekke:

Kan nie hierdie webwerf om deel te vertoon. Om die probleem op te los, Hierdie webblad oopmaak in 'n Windows SharePoint compatible HTML-redakteur soos Microsoft Office SharePoint Designer. As die probleem voortduur, kontak met jou Web bediener se administrateur.

Ek blameer die kliënt (nie besef nie, dat dit my skuld was op hierdie punt) but eventually noticed that visual studio intellisense was warning me that I had malformed XSL. I corrected it and everything started working.

Wees gestop versigtig wanneer jy werk met ItemStyle.xsl (en enige van die globale XSL-lêers) — breek hulle raak baie artefakte in die terrein versameling.

<einde />