Arkivji ta 'Kull Xahar: Novembru 2007

Inti ma tistax Beat Reach SharePoint fuq

Matul l-aħħar jumejn, 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. mill-marketing, diversi diretturi jirrappreżentaw HR, Loġistika, Manifattura, Proġetti kapitali, Kwalità, Purchasing, Iżvilupp Korporattiva u dipartimenti oħra (wħud minnhom ma kinux involuti anki direttament fil-fażi attwali). That’s a mighty wide audience.

Fil-ħajja tiegħi qabel, 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 (li huwa b'xi mod mdawwar fuq kap tagħha hawn 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.

Bħal kull ħaġa, mhuwiex perfett, iżda huwa post tajjeb damned li jkun.

Għall-imħabba ta ' [timla persuna l-aktar maħbub tiegħek / ogħla jkunu], don’t change the ‘Title’ Kolonna sit.

Fuq il- Fora SharePoint, xi ħadd kultant tistaqsi dwar "tibdil tal-tikketta tat-Titolu" jew dwar "it-tneħħija minn listi titolu".

Bottom line: M'għandekx tagħmel dan!

Sfortunatament, l-user interface tippermetti bidla one-way ta 'dik it-tikketta kolonna kif muri:

immaġni

Titolu huwa kolonna assoċjata mat-Punt "" Tip kontenut. Ħafna, ħafna, ħafna tal CT jużaw din il-kolonna u jekk int bdilt hawnhekk, 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’ biss ma jagħmilx sens bħala isem kolonna, 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’, titolu kull lista tal- (inklużi libreriji dokument) bidliet fil-Kodiċi Status "" u inti probabilment ma kienx biħsiebu għal dak li jiġri.

Il-problema vera hija li din hija bidla one-way. The UI "knows" dak it-titolu "" is a reserved word. Allura, jekk inti tipprova u l-bidla Kodiċi Status "" lura għal "Titolu", se tipprevjeni li inti u issa inti ħadthom miżbugħa lilek innifsek fis-kantuniera using paint that never dries 🙂

Allura x'jiġri jekk inti diġà mibdula din? 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.

I jkollhom ideat oħra ftit li huma fuq biex tagħmel-lista tiegħi ta 'affarijiet li riċerka:

  • Kuntatt Microsoft.
  • Tagħmel xi ħaġa mal-mudell oġġett, forsi flimkien ma 'karatteristika.
  • Figura l-schema database u manwalment taġġorna SQL. (Għandek tikkuntattja Microsoft qabel ma tagħmel dan għalkemm; li x'aktarx se null kuntratt ta 'appoġġ tiegħek).

Jekk xi ħadd jaf kif se ssolvi din, jekk jogħġbok post kumment.

Aġġornament tard wara nofsinhar, 11/15: Sibt din ir-rabta li jiddeskrivi metodu għall-ħolqien ta 'tip ta' lista li ma jkollux kolonna titolu: http://www.venkat.org/index.php/2007/09/03/how-to-remove-title-column-from-a-custom-list/

BDC ADF u l-ħabib tiegħek, CDATA

Stajt ndunat xi skomdi u bla bżonn bl-idejn kodifikazzjoni ta RdbCommandText fil xi eżempji (inkluża d-dokumentazzjoni MSDN).

Jien ridt li tindika lill-utenti ġodda biex BDC li jikkmanda jistgħu jiġu mgeżwra ġewwa tag CDATA fil-"naturali tagħhom" form. Allura, dan skomdi kostruzzjoni:

<Proprjetà Isem="RdbCommandText" Tip="System.String">
TAGĦŻEL dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement minn dbo.MCRS_SETTLEMENT
FEJN (id &gt;= @ MinIDs) U (id &lt;= @ MaxId)
</Proprjetà>

jistgħu jiġu rappreżentati aħjar b'dan il-mod:

<Proprjetà Isem="RdbCommandText" Tip="System.String">
<![CDATA[
TAGĦŻEL dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement minn dbo.MCRS_SETTLEMENT
FEJN (id >= @ MinIDs) U (id <= @ MaxId)
]]>
</Proprjetà>

</aħħar>

BDC Eżempju

Intro li BDC

Funzjonali Eżempju: BDC ADF li jgħaqqad lill database SQL ma 'id-utent inkorporat u password

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 din it-template (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), I maħluqa b 'ADF li jgħaqqad għal SQL server partikolari istanza u zkuk fl ma' l-id utent speċifiku u password u muri f'dan snippet:

  <LobSystemInstances>
    <LobSystemInstance Isem="ClaimsInstance">
      <Properties>
        <Proprjetà Isem="AuthenticationMode" Tip="System.String">PassThrough</Proprjetà>
        <Proprjetà Isem="DatabaseAccessProvider" Tip="System.String">SqlServer</Proprjetà>
        <Proprjetà Isem="RdbConnection Data Sors" Tip="System.String">server attwali  attwali istanza</Proprjetà>
        <Proprjetà Isem="Catalog inizjali RdbConnection" Tip="System.String">katalogu inizjali nnifisha</Proprjetà>
        <Proprjetà Isem="RdbConnection Integrata Sigurtà" Tip="System.String">SSPI</Proprjetà>
        <Proprjetà Isem="RdbConnection ippuljar" Tip="System.String">falza</Proprjetà>

        <!-- Dawn huma l-valuri ewlenin: -->
        <Proprjetà Isem="User ID RdbConnection" Tip="System.String">aID ctual User</Proprjetà>
        <Proprjetà Isem="Password RdbConnection" Tip="System.String">attwali Password</Proprjetà>
        <Proprjetà Isem="Trusted_Connection RdbConnection" Tip="System.String">falza</Proprjetà>

      </Properties>
    </LobSystemInstance>
  </LobSystemInstances>

Mhuwiex l-aħjar prattika, 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 userid integrati u password
  • ssodata id-utent u password ADF
  • ssodata id-utent u password ADF BDC
  • Sharepoint primer BDC
  • Sharepoint utent embed id u password ADF

</aħħar>

Abbona għall-blog tiegħi.

Workflow azzjonijiet SPD dwana — manipulazzjoni titjib string

Madwar ġimgħa ilu, 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.

Hawn huma l-karatteristiċi ppjanati attwali għall-verżjoni 1.0: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Jekk xi ħadd ikollu xi interess f'dan il-proġett, jekk jogħġbok leave kumment jew jibdew / żid għal diskussjoni hawn: http://www.codeplex.com/spdwfextensions/Thread/List.aspx

Hawn huma l-sett attwali ta 'funzjonijiet li ġew kodifikati (għalkemm mhux ittestjata għal kollox sa mill- 11/08/07):

Funzjoni Deskrizzjoni (jekk mhux istess. funzjoni Net)
Num-entrati() Denunzji il numru "dħul" in a string as per a specified delimiter.

Per eżempju: Num-reġistrazzjonijiet fi string "a,b,c" ma delimetru "," = 3.

Dħul() Returns the nth token in a string as per a specified delimiter.
Tul String.Length
Ibdel() String.Replace()
Fih() String.Contains()
Denunzji-kelma "vera" jew il-kelma "false".
Substring(tibda) String.Substring(tibda)
Substring(tibda,aħħar) String.Substring(tibda,aħħar)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Denunzji-kelma "vera" jew il-kelma "false".
EndsWith() String.EndsWith()
Denunzji-kelma "vera" jew il-kelma "false".

Quick & faċli url Encoding desktop utilità

Stajt ġiet jeħtieġu li url 'encode xi strings din il-ġimgħa u slapped flimkien utilità ftit aa li ħsibt I d imqiegħed fuq SkyDrive għall-komunità.

Niżżel l-binarju hawn: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncode.zip

Niżżel l-soluzzjoni studio viżwali hawn: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncodeVS2005.zip

Hawn screen shot:

immaġni

Quick u faċli: Embed hyperlink fis-dejta parti fehma XSLT web

UPDATE (01/17/08): Dan taħdidiet dħul blog dwar goodness hyperlink aktar XSL: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.

Ħarsa ġenerali u Objettiv: 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, imma jien ma nivvintaw dan it-teknika (u lanqas il-kwistjoni mark, għal dik il-kwistjoni). 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. Per eżempju, 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".

Passi:

  1. Użu studio viżwali għal Sharepoint-konxji IntelliSense.
  2. Kopja XSLT l DVWP tal fis viżwali istudjo (jinħoloq proġett vojt, żid fajl XSL għall-proġett).
  3. Ikkopja l-link li trid tuża fil-clipboard.
  4. Paste fil-post dritt fil-XSL.
  5. Ikkonverti separaturi argument URL fuq il-sekwenza mistoqsija minn "&" għal "&amp;"
  6. Url-encode argumenti individwali.
  7. Kebbeb li ġewwa <a href…> </a>

Eżempju:

I jkollhom URL:

http://[server]/[sit]/Listi / 20Positions/AllItems.aspx Open%?View ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = Recruiter&= FilterValue1 Żomm

I jissarfu fi:

     <a href="Listi / 20Positions/AllItems.aspx Open%?View =% 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1% 7d&amp;FilterField1 = Recruiter&amp;= FilterValue1 Żomm"> Żomm: </a>

Għandi manwalment trasformati l-ewwel argument minn:

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

li:

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

(F'din, l-Brace miftuħa tittrasforma lill 7b% u l-Brace għeluq tittrasforma sa 7d%)

L-argumenti tieni u tielet’ parametri ("FilterField1 =Recruiter" u "FilterValue1 =Żomm" rispettivament) m'għandhomx bżonn li jiġu url 'encoded għaliex dawn ma jkunx fihom xi karattri mhux sikuri.

Noti:

Din it-teknika għandha ġeneralment jaħdmu kullimkien inti tixtieq li ssodata hyperlink fil XSLT fejn il-hyperlink jinkludi parametri fuq il-URL bħal:

http://[server]/[sit]/Listi / 20Positions/AllItems.aspx Open%?View ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = Recruiter&= FilterValue1 Żomm

Sibt l-URL innifsu billi taċċessa l-lista tad-dwana u manwalment filtrazzjoni fuq il-kolonna istatus (ittikjati "Recruiter" hawn fuq).

Quick u sempliċi: Jippermettu workflow Disinjatur SharePoint biex taġġorna forma InfoPath

Xenarju: I have an InfoPath form that front-ends a workflow process implemented using SharePoint Designer. At one point, a manager must approve the form. Peress I ma jista 'joqgħod fuq l-istorja workflow biex jissodisfaw rekwiżiti ta' verifika tiegħi, I jiddeċiedu li jaħżen messaġġ tiegħi verifika stess direttament fuq il-formola innifsu.

Ħarsa ġenerali:

Disinn tal-forma u jippubblikaha bħala Tip kontenut 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" għal librerija forom (jew ħafna, jekk inti tixtieq). Write a workflow that updates the field.

Passi speċifiċi:

  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. Tippubblika l-forma bħala tip kontenut (MHUX dokument).
  5. Filwaqt li timla l-dialogs pubblikazzjoni:
    a) Salv l-fajl. Xsn għal-librerija dokument (pass #1).
    b) Tippubblika l Messaġġ Verifika "" qasam u l-marka vera: "Ħalli l-utenti li jeditjaw data f'dan il-qasam bl-użu ta datasheet jew proprjetajiet paġna".
    c) Oħloq tip kontenut ġdid u tagħtih l-isem xieraq.
  6. Aċċess-librerija forom.
    a) Mur settings avvanzati tagħha u jippermettu lill-librerija formoli biex jimmaniġġjaw tipi ta 'kontenut.
    b) Agħżel it-tip kontenut għadu kif inħoloq (5c hawn fuq). It will be grouped under "Microsoft InfoPath" (jew simili).
    c) Neħħi l-default "Formola" Tip kontenut mill-bibljoteka.
    d) Immarka l-librerija biex "juru kif web page" sabiex il-formola se tniedi mill SharePoint u mhux il-klijent workstation InfoPath.
  7. Go back to the forms library proper and click "New" li kemm jivverifika illi l-formola huwa mibgħut b'mod korrett u li jaġixxu kif tixtieq.
  8. Fire up Disinjatur SharePoint u jinnavigaw-sit li tospita librerija formola tiegħek (minn pass 2).
  9. Oħloq fluss tax-xogħol ġdid mehmuż mal-librerija forom.
  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. Ikklikkja Finish u jmorru lura lejn il-librerija formola.
  12. Create a new form and put some test value into the "Audit Message" qasam.
  13. Ħlief dan u jmorru lura lejn il-librerija formola.
  14. Right-click, select "Workflow" u jibdew fluss tax-xogħol tiegħek.
  15. It should run almost immediately. Pull up the form (minn pass 12) u jekk kollox marret għall-pjan, "Audit Message" ġie assenjat kwalunkwe valur inti provdut fil-pass 10.

Noti:

Not all controls may configured for this bi-directional communication. Per eżempju, 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 ambjent u probabbilment anki teħtieġ ambjent SharePoint Intrapriża.

Il-Beagle kien Żbarkat (Ottubru 2007 kwistjoni)

(Dan huwa attwalment aħbar qodma ftit, iżda bħala motto favorit tiegħi istazzjon tan-nar tipproklama, "Better late than never").

Iċċekkjaha hawn: http://www.sharepointbeagle.com/

Jekk inti ma jkunux diġà, kun żgur li jiffirmaw.

Of course, kun żgur li taqra artiklu tiegħi about a real-world SharePoint project (inklużi r-rekwiżiti definizzjoni, Tal-KPI, kontenut tipi, dashboards and more) as well as tal-kollega tiegħi article about the content query web part.

Hemm ħafna ta 'għalf oħra tajba wisq.

Kif tneħħi “View kollha kontenut tas-sit” rabta

Jien talab din il-kwistjoni kważi kull ġimgħa, normalment fil-kuntest ta 'diskussjoni ta' sigurtà. An administrator/site creator has provisioned a site, konfigurati sigurtà, arranged web parts and customized the quick launch to provide that oh-so-perfect set of options to the end user. Iżda, barra mill-kaxxa, you can’t remove the "view all site content" rabta.

Mark Wagner jipprovdi l-risposta hawn (http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=36). Tiegħu write-up huwa terrific fuq żewġ livelli. Huwa jipprovdi risposta għad-domanda, "How do I remove the View All Site Content" rabta? Imbagħad, hija twieġeb il-immedjat follow-on kwistjoni: Kif nista 'faċilment jippermettu l-fehma kollha link kontenut tas-sit fuq sit ta' bażi-by-sit?

Bħala bonus: Approċċ tiegħu xogħlijiet għall WSS, mhux biss MOSS.

</aħħar>

Abbona għall-blog tiegħi!