Monthly Archives: Azaroaren 2007

Ezin duzu Beat SharePoint eskura

Azken bi egunetan zehar, I have participated in two meetings during which we presented the results of a SharePoint project. The CIO and his team joined the first meeting. That’s standard and not especially notable. The IT department is obviously involved in an enterprise rollout of any technology project. The second meeting expanded to include a V.P. marketing-tik, hainbat ordezkari, zuzendari HR, Logistika, Fabrikazio, Capital Proiektuak, Kalitatea, Erosteko, Korporatiboaren garapena eta beste sail (eta horietako batzuk ez ziren zuzenean, egungo fasean parte hartzen). That’s a mighty wide audience.

Nire bizitza, aurreko, I primarily worked on ERP and CRM projects. They both have a fairly wide solution domain but not as wide as SharePoint. To be fully realized, SharePoint projects legitimately and necessarily reach into every nook and cranny of an organization. How many other enterprise solutions have that kind of reach? Not many.

SharePoint clearly represents an enormous opportunity for those of us fortunate enough to be in this space. It provides a great technical opportunity (hau da, nolabait esateko, bere burua aktibatuta hemen under "Technologies You Must Master"). But even better, SharePoint exposes us to an extensive and wide range of business processes through these engagements. How many CRM specialists work with the manufacturing side of the company? How many ERP consultants work with human resources on talent acquisition? SharePoint exceeds them both.

Atsegin dut ezer, ez da perfektua, baina madarikatuak leku ona izan da.

Maitasuna egiteko [pertsona gehien maite / altuagoak bete izateaz], don’t change the ‘Title’ gune zutabea.

Buruzko SharePoint foroak, someone occasionally asks about "changing the label of Title" or about "removing title from lists".

Behean line: Baina ez du!

Tamalez, Erabiltzaile interfazea zutabea duten aldaketa bat-modu bat agerian uzten du:

image

Title is a column associated with the "Item" eduki mota. Asko, asko, CT horrek asko erabili zutabe hau eta aldatu baduzu hemen, it ripples out everywhere. There’s a good chance that you didn’t intend for that to happen. You were probably thinking to yourself, "I have a custom lookup list and ‘Title’ besterik ez du zentzurik zutabean izen bat, so I’m going to change it to ‘Status Code’ and add a description column." But if you follow through on that thought and rename ‘Title’ to ‘Status Code’, zerrenda behin izenburua (Dokumentu liburutegiak barne) changes to "Status Code" eta ziurrenik ez zuen asmoa hori dela-eta.

Benetako arazoa da hori, bat-modu bat da aldaketa. The UI "knows" that "title" is a reserved word. Beraz,, if you try and change "Status Code" back to "Title", saihesteko duzu izango da eta orain dituzun zeuk margotu izkinan using paint that never dries 🙂

Beraz, zer gertatzen da dagoeneko aldatu bada? I haven’t seen the answer we all want, which is a simple and easy method to change the label back to ‘Title’. Right now, the best advice is to change it to something like "Doc/Item Title". That’s a generic enough label that may not be too jarring for your users.

Gutxi beste ideia nire egiteko gauzen zerrenda ikerketa dira daukat:

  • Harremanetan Microsoft.
  • Zerbait objektu ereduaren, agian ezaugarri bat batera.
  • Irudikatu datu-basearen eskema eta eskuz SQL eguneratu. (Microsoft harremanetan jarri beharko duzu hori egiteko, nahiz eta aurretik; ziur aski gal zure laguntza-kontratua).

Edozeinek daki nola konpondu nahi bada, mesedez, post a comment.

Eguneratu arratsean, 11/15: Lotura hori metodo bat deskribatzen zerrenda-mota bat sortzeko ez duten titulu zutabe bat aurkitu dut: http://www.venkat.org/index.php/2007/09/03/how-to-remove-title-column-from-a-custom-list/

BDC ADF eta zure laguna, CDATA

Nabaritu ditut baldar eta alferrikako RdbCommandText eskutik-encoding adibide batzuk (MSDN dokumentazioa barne).

I wanted to point out to newcomers to BDC that commands can be wrapped inside a CDATA tag in their "natural" form. Beraz,, baldar eraikuntza honetan:

<De la Propiedad Izena="RdbCommandText" Mota="System.String">
AUKERATU dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT tik dbo.MCRS_SETTLEMENT.settlement
NON (id &gt;= @ MinID) ETA (id &lt;= @ MaxId)
</De la Propiedad>

hobeto irudikatzen modu honetan:

<De la Propiedad Izena="RdbCommandText" Mota="System.String">
<![CDATA[
AUKERATU dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT tik dbo.MCRS_SETTLEMENT.settlement
NON (id >= @ MinID) ETA (id <= @ MaxId)
]]>
</De la Propiedad>

</amaiera>

BDC Adibidea

To BDC Intro

Adibidea funtzionalak: BDC ADF duten SQL datu lotzen kapsulatutako id erabiltzailea eta pasahitza

I needed to wire up MOSS to a SQL database via BDC. For testing/POC purposes, I wanted to embed the SQL account user id and password in the ADF. Starting with plantila honetan (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), ADF bat sortu dut, hori da jakin baten SQL zerbitzari instantzia eta erregistroetako lotzen, erabiltzaile baten berariazko IDa eta pasahitza eta kode honetan erakutsitako:

  <LobSystemInstances>
    <LobSystemInstance Izena="ClaimsInstance">
      <Propietateak>
        <De la Propiedad Izena="AuthenticationMode" Mota="System.String">Espero</De la Propiedad>
        <De la Propiedad Izena="DatabaseAccessProvider" Mota="System.String">SQLServer</De la Propiedad>
        <De la Propiedad Izena="RdbConnection Datu iturria" Mota="System.String">benetako zerbitzaria  benetako instantzia</De la Propiedad>
        <De la Propiedad Izena="RdbConnection Hasierako katalogoa" Mota="System.String">benetako hasierako katalogoa</De la Propiedad>
        <De la Propiedad Izena="RdbConnection integratua segurtasuna" Mota="System.String">SSPI</De la Propiedad>
        <De la Propiedad Izena="RdbConnection elkarrekin" Mota="System.String">faltsuak</De la Propiedad>

        <!-- Gako horiek balioek: -->
        <De la Propiedad Izena="RdbConnection Erabiltzaile ID" Mota="System.String">batctual Erabiltzaile ID</De la Propiedad>
        <De la Propiedad Izena="RdbConnection Pasahitza" Mota="System.String">oraingo pasahitza</De la Propiedad>
        <De la Propiedad Izena="RdbConnection Trusted_Connection" Mota="System.String">faltsuak</De la Propiedad>

      </Propietateak>
    </LobSystemInstance>
  </LobSystemInstances>

Ez da onena praktika, but it’s useful for a quick and simple configuration for testing. This was surprisingly difficult to figure out. I never found a functional example with search keywords:

  • ADF Embedded userid eta pasahitza
  • txertatzeko erabiltzaile IDa eta pasahitza ADF en
  • txertatzeko erabiltzaile IDa eta pasahitza ADF bdc en
  • SharePoint bdc primer
  • SharePoint embed erabiltzaile IDa eta pasahitza ADF

</amaiera>

Nire blog Harpidetu.

SPD Ohiko workflow ekintza — katea manipulazio ekipamenduak

Aste bat inguru ago, I started up a codeplex project that provides a simple and reasonably generic method for adding custom action functions to SharePoit Designer workflow. It’s described here: http://www.codeplex.com/spdwfextensions. Beyond simply providing a framework, it also aims to provide a set of useful functions that will make SPD more useful/flexible/powerful.

Hemen bertsioaren planifikatutako egungo ezaugarriak 1.0: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Edozeinek proiektu honetan inolako interesik badu, Mesedez, utzi iruzkin bat, edo / eztabaida bat gehitu hemen: http://www.codeplex.com/spdwfextensions/Thread/List.aspx

Hemen funtzio dituzte kodetuta multzoa uneko (ez da erabat bezain probatu 11/08/07):

Funtzioa Deskribapena (berean ez bada ere. funtzio garbia)
Num-sarrerak() Returns the number "entries" in a string as per a specified delimiter.

Adibidez: Num-entries in a string "a,b,c" with delimiter "," = 3.

Sarrera() Returns the nth token in a string as per a specified delimiter.
Luzera String.Length
Ordeztu() String.Replace()
Dauka() String.Contains()
Returns the word "true" or the word "false".
Izan ezik:(hasteko) String.Substring(hasteko)
Izan ezik:(hasteko,amaiera) String.Substring(hasteko,amaiera)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Returns the word "true" or the word "false".
EndsWith() String.EndsWith()
Returns the word "true" or the word "false".

Quick & erraza kopiatu Encoding Mahaigaineko utilitate

I’ve been needing to url-encode some strings this week and slapped together a a little utility that I thought I’d put up on SkyDrive for the community.

Talde bitar hemen: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncode.zip

Talde bisualak estudioan konponbidea hemen: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncodeVS2005.zip

Hemen pantaila jaurtiketa bat:

image

Azkar eta erraz: Txertatu hiperesteka datuak ikuspegi web parte XSLT sartu

UPDATE (01/17/08): Gai honi buruz informazio gehiago hiperesteka XSL bondad blog sarrera hitzaldiak: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.

Orokorra eta Helburua: I had created a simple bar chart to serve as component on a dashboard. I’ll save the details on building charts for another post, baina ez nuen asmatu teknika (ezta galdera ikurra, materia horren). It turned out there was a bug in the chart and while I fixed that, I took the opportunity to convert some labels into hyperlinks that pointed at the underlying list behind the graph. Adibidez, there is a label with value "Hold". I wanted to turn the label into a hyperlink so that the user could click on it and drill down to the specific entries in the list whose status value is "Hold".

Urratsak:

  1. Erabili bisuala estudioa egiteko SharePoint-jakitun intellisense.
  2. Kopiatzeko DVWP en XSLT bisuala estudioan sartu (sortzeko proiektu bat hutsik, gehitu XSL fitxategi bat proiektuan).
  3. Kopiatu lotura arbelera sartu erabili nahi duzun.
  4. Itsatsi XSL eskuin kokapena sartu.
  5. Convert URL argument separators on the query string from "&" to "&amp;"
  6. URL kodetzeko banakako argumentuak.
  7. Itzulbiratu baten barruan <href bat…> </bat>

Adibidea:

URL bat dut:

http://[zerbitzaria]/[gune]/Zerrendak / Open% 20Positions/AllItems.aspx?Ikusi ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = recruiter&FilterValue1 = Eutsi

Bihurtu dut sartu:

     <bat href="Zerrendak / Open% 20Positions/AllItems.aspx?Ikusi =% 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1}&amp;FilterField1 = recruiter&amp;FilterValue1 = Eutsi"> Eutsi: </bat>

Eskuz dut eraldatu lehen argumentua tik:

{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}

to:

%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1}

(Honetan, giltza irekia da, eta% 7b eraldatzen eta ixteko giltza erabilera% 7d eraldatzen)

Bigarren eta hirugarren argumentuak’ parametroak ("FilterField1=Recruiter" and "FilterValue1=Eutsi" hurrenez hurren) ez da beharrezkoa izango URL-kodetuta ez dutelako eduki unsafe pertsonaiak edozein.

Oharrak:

Teknika hau, oro har, edozein lekutan lan bat XSLT en hiperesteka non Hiperesteka hartzen ditu, besteak beste, parametro gisa URL gainean txertatu nahi duzun:

http://[zerbitzaria]/[gune]/Zerrendak / Open% 20Positions/AllItems.aspx?Ikusi ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = recruiter&FilterValue1 = Eutsi

URL bera lortu nuen zerrenda pertsonalizatu sartzeko eta eskuz egoera zutabean iragazketa (labeled "Recruiter" Goiko).

Azkarra eta sinplea: Gaitu SharePoint Designer workflow InfoPath inprimaki bat eguneratzeko

Eszenatoki: I have an InfoPath form that front-ends a workflow process implemented using SharePoint Designer. At one point, a manager must approve the form. Ezin dut, ez baita historia kontatzen workflow nire kontu ikuskaritza baldintzak betetzen, Nire kontu ikuskaritza mezua gordetzeko zuzenean forma bera erabaki dut.

Orokorra:

Diseinatzeko forma du, eta gisa, argitaratzen eduki mota and the form itself to a document library. Mark desired form fields as being updateable from MOSS. The form is tied to the content type and the content type is "attached" forma bat liburutegia (edo asko, nahi izanez gero). Write a workflow that updates the field.

Berariazko Urratsak:

  1. Create a document library. This will hold your InfoPath template.
  2. Create a forms library.
  3. Create the InfoPath form. Include a text field, "Audit Message".
  4. Publish the form as a content type (NOT a document).
  5. While filling out the publishing dialogs:
    bat) Save the .xsn file to the document library (urratsa #1).
    b) Publish the "Audit Message" field and mark true: "Allow users to edit data in this field by using a datasheet or properties page".
    c) Create a new content type and give it an appropriate name.
  6. Access the forms library.
    bat) Go to its advanced settings and enable the forms library to manage content types.
    b) Select the newly created content type (5c above). It will be grouped under "Microsoft InfoPath" (or similar).
    c) Remove the default "Form" content type from the library.
    d) Mark the library to "show as web page" so that the form will launch from SharePoint and not the InfoPath workstation client.
  7. Go back to the forms library proper and click "New" besterik egiaztatzeko inprimakia hori argitaratua behar bezala eta nahi duzun bezala jardunez.
  8. Sua sortu SharePoint Designer eta gune hori inprimaki zure liburutegia antolatzen nabigatu (urratsa tik 2).
  9. Sortu forma liburutegia atxikitako berriak eu.
  10. Add a single action "Set Field in Current Item". You should expect SharePoint Designer to list your your field, "Audit Message". Assign it a value.
  11. Klik Amaitu eta itzuli inprimaki liburutegian.
  12. Create a new form and put some test value into the "Audit Message" Eremu.
  13. Gorde eta atzera inprimaki liburutegian.
  14. Eskuin-klikatu, select "Workflow" eta martxan zure workflow.
  15. It should run almost immediately. Pull up the form (urratsa tik 12) eta guztiak joan nahi izanez gero,, "Audit Message" izan bada esleitutako balioa edozein dela ere, betiere urratsean duzu 10.

Oharrak:

Not all controls may configured for this bi-directional communication. Adibidez, it does not seem to implement an SPD workflow that modifies text fields wrapped inside repeating sections.

One of the key take-away’s here is that we’ve really created a content type with an associated template. This also enables us to store multiple InfoPath form templates in the same form library.

This requires forms server. It’s most certainly not going to work in a WSS 3.0 ingurumena eta, seguruenik, baita Enterprise SharePoint ingurumena eskatzen.

Beagle du lehorreratu (Urriaren 2007 alea)

(Hau da, benetan pixka bat zaharra albisteak, baina nire sua geltokia lema gisa aldarrikatzen, "Better late than never").

Begira hemen: http://www.sharepointbeagle.com/

Izan ez baduzu, ziur egon saioa hasi.

Jakina, ziurtatu irakurri nire artikulu about a real-world SharePoint project (eskakizunen definizioa barne, KPI en, eduki mota, dashboards and more) as well as nire lankide-en article about the content query web part.

Bada ona beste gauza asko da, gehiegi.

Nola kendu “Ikusi gune eduki guztiak” lotura

Ez dut galdera hau ia aste guztietan, normalean segurtasun eztabaida baten testuinguruan. An administrator/site creator has provisioned a site, konfiguratuta segurtasun, arranged web parts and customized the quick launch to provide that oh-so-perfect set of options to the end user. Baina, koadroan out, you can’t remove the "view all site content" lotura.

Mark Wagner erantzuna ematen du hemen (http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=36). Bere idazteko-up da emanaldirik bi mailatan. Erantzun bat ematen du, galdera, "How do I remove the View All Site Content" lotura? Gero, berehala erantzuten jarraitu-galdera: Nola gaitu erraz dut ikuspegi guztiak gune eduki site-by-gune oinarri esteka?

Bonus gisa,: Bere planteamendu WSS lanak, ez bakarrik MOSS.

</amaiera>

Nire blog Harpidetu!