మంత్లీ ఆర్కైవ్స్: నవంబర్ 2007

MOSS నా కాలమ్ పేరు ప్రత్యేకం లేదా వాడుకలో ఉంది నాకు చెబుతుంది … కానీ ఇది లేదు

UPDATE 12/04/07: చూడండి ఈ Microsoft KB (http://support.microsoft.com/kb/923589) సంబంధిత సమాచారం కోసం.

నిజంగా, అది బయటకు వస్తాడు, కాని చేష్టలతో కూడిన MOSS కష్టంగా ఉంది.

My customer does some development work on his MOSS site over the weekend. It’s a bit of a jumble as to what he actually did, కానీ ముగింపు ఫలితంగా ఈ ఉంది:

  • He tries to add a site column called "Quantity" మరియు MOSS ప్రత్యుత్తరాలు: "The column name that you entered is already in use or reserved. Choose another name."
  • He attempts to add it to another environment and that works. కాబట్టి, "Quantity" ప్రత్యేకించిన పేరు కాదు.
  • He tries to find an existing site column named "Quantity" in that site collection. He cannot find it.

నేను కొన్ని పనులు చేసాను పరిశోధన, and even some coding, తాత్విక వాక్స్ చివరకు పరిమాణం అనే కాలమ్ ఉందని తెలుసుకున్నాము, నిజానికి, exist. It was in the "_Hidden" group. Hence, మేము SharePoint యూజర్ ఇంటర్ఫేస్ ద్వారా దొరకలేదు.

ఇది ఎలా ఉంది వచ్చాం? I do not know, కానీ నేను ఒక సిద్ధాంతం కలిగి (లేదా నా భార్య అంటారని వంటి, "blah blah blah"). సంవేర్ లైన్ వెంట, ఒక అద్భుతమైన నలభై టెంప్లేట్ was added and probably activated at a site in the site collection. It was then deactivated (లేదా సైట్ తొలగించబడింది). The site column, అయితే, remained but in the "_Hidden" group. If someone knows better, నాకు ద్వారా తెలపండి ఇమెయిల్ లేదా వ్యాఖ్యలలో పోస్ట్.

SharePoint was telling the truth. It’s hardly worth pointing out that that message is not as helpful as it could be. It would be nice to see that message fork into two different messages in the future: 1) కాలమ్ పేరు రిజర్వు అని లేదా కాదు. 2) అది రిజర్వు కాకపోతే, సైట్ చూపించు, లేదా కనీసం సమూహం, కాలమ్ పేరు ఇప్పటికే ఉపయోగించబడింది పేరు.

</చివర>

ఓం కస్టమ్ జాబితా వయా ప్రస్తుతం డేటా (లేక, ఇంకా మరొక ఓం డేటా Displayor [YACC వంటి, కానీ వివిధ])

నేడు, I spent a handful of hours tracking down the root cause behind the message "The column name that you entered is already in use or reserved. Choose another name."

ప్రశ్న కాలమ్ సృష్టించబడుతున్నాయి, మరొక వాతావరణంలో తొలగించబడింది మరియు తిరిగి రూపొందించినవారు, so I knew it wasn’t a reserved name. అయితే, నేను కేవలం సైట్ సేకరణ ఏ సైట్ లో ప్రామాణిక SharePoint యూజర్ ఇంటర్ఫేస్ ద్వారా ఎక్కడైనా కాలమ్ దొరకలేదు.

నేను పోస్ట్ ఇక్కడ MSDN చర్చా వేదికల్లోకి మరియు లొంగని ఆండ్రూ వుడ్వార్డ్ అంతర్లీన ఆబ్జెక్ట్ మోడల్ డేటా దిశలో నాకు చూపారు.

నేను కాబడింది codeplex నాకు సహాయం చేస్తానని కొన్ని టూల్స్ అంతర్లీన ఓం డేటా లోకి తోటివారి కనుగొని సహాయం నాకు ఇబ్బంది గుర్తించడం.

నేను అనేక ఉపకరణాలు ప్రయత్నించారు మరియు వారు చాలా చల్లని మరియు ఆసక్తికర కానీ అంతిమంగా, the UI wasn’t good enough for my purpose. I’m not criticizing them by any means, వారు వారి UI రూపొందించినవారు కానీ స్పష్టంగా సాధనం-మేకర్స్ మనస్సులో నా సమస్య లేదు :). Most people seem to be investing a fair amount of time and effort in creating workstation / చెట్టు వీక్షణలు అందించే క్లయింట్ అప్లికేషన్లు, right-click context menus and so forth. These are nice and all, కానీ అది కూడా చాలా అనువైనది ఒక ఉత్తమ ది లైన్ యూజర్ అనుభవాన్ని సృష్టించేందుకు పని వార్తలు.

నేను నిజంగా ఈ సమస్యకు ఒక సమాధానం అవసరం. ఇది నాకు జరిగిన నేను కస్టమ్ జాబితాలో సైట్ సేకరణ సైట్ కాలమ్స్ అన్ని పొందలేరు ఉంటే, నేను ఫిల్టర్ కాలేదు, నాకు ఈ మార్పిడి ఉన్న కాలమ్ కనుగొనేందుకు సహాయం చేస్తానని వీక్షణలు క్రమం మరియు సృష్టించడానికి (అది చేసిన, BTW). I went ahead and did that and an hour or two later, నా సైట్ నిలువు గుంపులతో ఒక కస్టమ్ జాబితాలో లోడ్ చేసింది, sorting and so forth. I found my answer five minutes later.

నేను విజయవంతంగా ప్రపంచవ్యాప్తంగా తీసుకోకపోతే మరియు ఉన్నప్పుడు, I think I will decree that all SharePoint tools providers must seriously consider surfacing their object model data in a custom list. That way, నేను శక్తి కలిగి నేను మీరు ఏ విధంగా శోధించడానికి (పరిమితమయ్యాయి, కోర్సు యొక్క, ప్రామాణిక SharePoint లక్షణాలు ద్వారా).

SharePoint డిజైనర్ వర్క్ఫ్లో కస్టమ్ యాక్షన్ — గురించి పరిశీలన <ఫీల్డ్ టై డిజైనర్ పద్ధతి =”StringBuilder” … />

ఈ రెండు నిర్వచనాలు మధ్య చాలా ముఖ్యమైన తేడా ఉందని కేవలం శీఘ్ర పరిశీలన:

<FieldBind Field="InParam1" DesignerType="StringBuilder" Id="2" Text="Input parameter #1"/>

వర్సెస్:

<FieldBind Field="InParam1" Id="2" Text="Input parameter #1"/>

SPD ఈ వంటి మొదటి ప్రదర్శనలు:

ప్రతిమ

రెండో దీన్ని ఇష్టపడుతున్నారు చూపిస్తుంది:

ప్రతిమ

I’m not sure how helpful these screen shots are but I put in the effort to make them so you have to view them 🙂

పరిశీలన ఈ ఉంది: StringBuilder మీరు ఒక స్ట్రింగ్ ను నిర్మించటానికి మీకు అనుమతిస్తుంది (స్పష్టంగా) స్ట్రింగ్ literals మరియు వర్క్ఫ్లో డేటా కలిసి కలపడం ద్వారా (via the "Add Lookup" తక్కువ ఎడమ చేతి మూలలో బటన్). When you use the Add Lookup button, it inserts a token in the form "[%టోకెన్%]". When SharePoint invokes your custom action, (నా విషయంలో సి # కోడ్), SharePoint టోకెన్ కూడా వెళుతుంది, not the value of the token. If you use the default designer type (రెండవ రకం), SharePoint టోకెన్ విస్తరిస్తుంది మరియు మీ చర్య టోకెన్ యొక్క వాస్తవ విలువ వెళుతుంది.

StringBuilder = BAD, డిఫాల్ట్ డిజైనర్ రకం = GOOD.

కోర్సు యొక్క, that’s not what I really mean. Just don’t try and pass a parameter to your custom action when the designer type = StringBuilder. Use the default designer type and chain a StringBuilder to it up front if you need to build complex strings in your workflow (ఇది యాదృచ్ఛికంగా ఒక ఇమెయిల్ చర్య కోసం ఒక డైనమిక్ విషయం సృష్టించడానికి చేస్తుంది ఖచ్చితంగా ఏమిటి, కానీ మరొక బ్లాగ్ ఎంట్రీ కోసం ఒక విషయం యొక్క, ఉంది).

<ముగింపు />

అకాల వర్క్ఫ్లో యాక్టివేషన్ — ఒక నాన్-వైద్య సొల్యూషన్

UPDATE: ఈ MSDN చర్చ చూడండి, ముఖ్యంగా గత ఎంట్రీ: http://forums.microsoft.com/MSDN/showpost.aspx?postid=2631057&siteid=1. It describes a condition that may short circuit this whole thing. In short, తప్పనిసరి ఖాళీలను కనీసం ఒక మేకింగ్ విధంగా సాధారణ కావచ్చు.

నేను ఎనిమిది కంటెంట్ రకాల మద్దతు ఒక పత్రం లైబ్రరీ కలిగి.

I have a SharePoint Designer workflow that wants to calculate and assign a "reminder date" కేవలం తీసివేయడం ద్వారా 30 మరొక కాలమ్ నుండి రోజుల, "due date". This should only happen for one of the content types, "Insurance". The business objective is to produce a KPI that shows two categories of insurance documents: "about to expire" and "expired." (మీరు KPI మరియు ఈ రకమైన గురించి మరింత గణనీయమైన బెజ్జం వెయ్యి డౌన్ చదువుకోవచ్చు ఇక్కడ).

I have configured the workflow to fire when a new item is created and when an item is modified. The idea is that when an insurance document is uploaded, we calculate a "warning date" based on the expiration date. A pair of views work in connection with a KPI List to highlight these conditions when users hit their home page.

ఈ వ్యూహం నేను ఒక పత్రాన్ని అప్లోడ్ చేసినప్పుడు పని లేదు.

I upload the document and I am presented with the meta data entry screen. ఈ సమయంలో, I’m already in trouble. SharePoint has already, ముందుగానే నా దృక్పథం నుండి, fired the workflow. I haven’t had a chance to pick the correct content type nor assign a due date. అదే సమయంలో, the workflow does not fire when I hit the submit button at this time. There’s some built-in logic that "believes" that first submit is part of the "create" event. ఈ విధంగా … అది అమలు నా వర్క్ఫ్లో తొలగించారు మరియు, it was passed default meta data values.

The best work-around I know of is to insert a "pause until" activity in the workflow. I have the workflow pause for 1 minute. While it’s pausing, నేను సరైన కంటెంట్ రకాన్ని ఎంచుకోండి, enter the meta data and submit. The pause completes and the workflow proceeds as needed. (నా వాతావరణంలో గమనించండి, timer workflow activities from SPD do not work out of the box. You may have the same trouble. చూడండి ఇక్కడ మరిన్ని వివరాల కోసం).

I don’t like "magic delay" work-around. What happens if the user uploads a document and the phone rings and the ensuing conversation outlasts the pause? I can make the pause longer, కానీ నేను ఇంకా ఇష్టం లేదు.

నేను ఇక్కడ MSDN ఫోరంలలో ఈ గురించి రాశాడు: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2430725&SiteID=1

SharePoint సెక్యూరిటీ మొదటి ఫండమెంటల్స్ / సాధారణ పిట్ఫాల్ల్స్ మానుకోండి

UPDATE 12/18/07: డిఫాల్ట్ సమూహం పేర్లు తొలగించడం లేదా మెరుగుపర్చడం కొన్ని సాంకేతిక పరిణామాలు పాల్ Liebrand యొక్క వ్యాసం చూడండి (క్రింద అలాగే తన వ్యాఖ్యను చూడండి).

అవలోకనం:

SharePoint security is easy to configure and manage. అయితే, it has proven to be difficult for some first-time administrators to really wrap their hands around it. Not only that, I have seen some administrators come to a perfect understanding on Monday only to have lost it by Friday because they didn’t have to do any configuration in the intervening time. (నేను ఈ సమస్య నాకు కలిగి ఒప్పుకుంటే). This blog entry hopefully provides a useful SharePoint security primer and points towards some security configuration best practices.

ముఖ్యమైన గమనిక:

This description is based on out of the box SharePoint security. My personal experience is oriented around MOSS so there may be some MOSS specific stuff here, but I believe it’s accurate for WSS. I hope that anyone seeing any errors or omissions will point that out in comments or నాకు ఇమెయిల్. I’ll make corrections post haste.

అదిమ సిద్ధాంతములు:

ఈ అవలోకనం యొక్క ప్రయోజనాల కోసం, భద్రతకు నాలుగు ప్రాథమిక అంశాలున్నాయ: వినియోగదారులు / సమూహాలు, securable వస్తువులు, అనుమతి స్థాయిలు మరియు వారసత్వం.

వినియోగదారులు మరియు గుంపులు కు విచ్ఛిన్నం:

  • వ్యక్తిగత వినియోగదారులు: యాక్టివ్ డైరెక్టరీ నుండి తీసివేయబడింది లేదా నేరుగా SharePoint లో రూపొందించినవారు.
  • గుంపులు: Mapped directly from active directory or created in SharePoint. Groups are a collection of users. Groups are global in a site collection. They are never "tied" ఒక నిర్దిష్ట securable వస్తువు.

Securable వస్తువులు కనీసం కు విచ్ఛిన్నం:

  • సైట్లు
  • డాక్యుమెంట్ గ్రంధాలయాలు
  • జాబితాలు మరియు పత్రం గ్రంథాలయాల్లో వ్యక్తిగత అంశాలు
  • ఫోల్డర్లు
  • వివిధ BDC సెట్టింగులు.

అక్కడ ఇతర securable వస్తువులు, కానీ మీరు కొంచం.

అనుమతి స్థాయిలు: పొడి ఒక కట్ట / low level access rights that include such things as create/read/delete entries in lists.

వారసత్వం: By default entities inherit security settings from their containing object. Sub-sites inherit permission from their parent. Document libraries inherit from their site. So on and so forth.

వినియోగదారులు మరియు గుంపులు అనుమతి స్థాయిలు మరియు వారసత్వం ద్వారా securable వస్తువులు సంబంధం.

అర్థం చాలా ముఖ్యమైన సెక్యూరిటీ రూల్స్, Ever 🙂 :

  1. గుంపులు కేవలం వినియోగదారుల సేకరణలు ఉన్నాయి.
  2. గుంపులు ఒక సైట్ సేకరణ లోపల ప్రపంచ ఉన్నాయి (ఉదా. ఒక సైట్ స్థాయిలో నిర్వచించబడింది సమూహం వంటి విషయం ఉంది సంఖ్య).
  3. గుంపు పేరు withstanding కాదు, సమూహాలు లేదు, తమను మరియు ఆఫ్, have any particular level of security.
  4. Groups have security in the context of a specific securable object.
  5. మీరు ప్రతి securable వస్తువు కోసం అదే సమూహం వివిధ అనుమతి స్థాయిలు ఇస్తారు.
  6. వెబ్ అప్లికేషన్ విధానాలు ట్రంప్ ఈ అన్ని (క్రింద చూడండి).

సమూహం మరియు వినియోగదారు జాబితాలు ఒక సముద్ర ఓడిపోయింది సెక్యూరిటీ నిర్వాహకులు వారి భద్రత ఆకృతీకరణ నిర్వహించండి మరియు అర్థం చేసుకోవడానికి ఈ సిద్ధాంతాల మీద ఆధారపడి ఉంటుంది.

సాధారణ పిట్ఫాల్ల్స్:

  • గ్రూప్ పేర్లు తప్పుగా అనుమతి అర్థం: అవుట్ ఆఫ్ ది బాక్స్, SharePoint defines a set of groups whose names imply an inherent level of security. Consider the group "Contributor". One unfamiliar with SharePoint security may well look at that name and assume that any member of that group can "contribute" to any site/list/library in the portal. That may be true but not because the group’s name happens to be "contributor". This is only true out of the box because the group has been provided a permission level that enables them to add/edit/delete content at the root site. Through inheritance, the "contributors" group may also add/edit/delete content at every sub-site. One can "break" the inheritance chain and change the permission level of a sub-site such that members of the so-called "Contributor" సమూహం అన్ని వద్ద దోహదం కాదు, కానీ చదవడానికి మాత్రమే (ఉదాహరణకు). This would not be a good idea, స్పష్టంగా, ఇది చాలా గందరగోళంగా ఉంటుంది నుండి.
  • గుంపులు ఒక సైట్ స్థాయిలో నిర్వచించబడింది లేదు. It’s easy to be confused by the user interface. Microsoft provides a convenient link to user/group management via every site’s "People and Groups" లింక్. It’s easy to believe that when I’m at site "xyzzy" and I create a group through xyzzy’s People and Groups link that I’ve just created a group that only exists at xyzzy. That is not the case. I’ve actually created a group for the whole site collection.
  • గుంపులు సభ్యత్వం సైట్ మారుతూ ఉంటాయి లేదు (ఉదా. అది ప్రతిచోటా సమూహం ఉపయోగిస్తారు అదే): Consider the group "Owner" మరియు రెండు సైట్లు, "HR" and "Logistics". It would be normal to think that two separate individuals would own those sites — an HR owner and a Logistics owner. The user interface makes it easy for a security administrator to mishandle this scenario. If I didn’t know better, నేను HR సైట్ ద్వారా ప్రజలు మరియు సమూహాలు లింకులు యాక్సెస్ ఉండవచ్చు, select the "Owners" group and add my HR owner to that group. A month later, Logistics comes on line. I access People and Groups from the Logistics site, add pull up the "Owners" group. I see the HR owner there and remove her, thinking that I’m removing her from Owners at the Logistics site. నిజానికి, I’m removing her from the global Owners group. Hilarity ensues.
  • ప్రత్యేక పాత్ర ఆధారంగా సమూహాలు పేరు వైఫల్యాన్ని: The "Approvers" group is a perfect example. What can members of this group approve? Where can they approve it? Do I really want people Logistics department to be able to approve HR documents? Of course not. Always name groups based on their role within the organization. This will reduce the risk that the group is assigned an inappropriate permission level for a particular securable object. Name groups based on their intended role. In the previous HR/Logistics scenario, నేను రెండు కొత్త సమూహాలు సృష్టించాలి: "HR Owners" and "Logistics Owners" మరియు ప్రతి తెలివైన అనుమతి స్థాయిలు మరియు వారి ఉద్యోగ చేయాలని వినియోగదారుల కోసం అవసరమైన కనీస మొత్తం కేటాయించి.

ఇతర ఉపయోగకరమైన మూలాలు:

మీరు ఈ చేసిన ఉంటే చాలా:

Please let me know your thoughts via the comments or email me. If you know other good references, అదే చెయ్యండి!

Technorati టాగ్లు:

త్వరిత మరియు సులువు: ఒక డేటా చూడండి వెబ్ పార్ట్ సృష్టించు (DVWP)

WSS న గొప్ప సమాచారం సంపద ఉంది 3.0 డేటా అభిప్రాయాలను వెబ్ పార్ట్ (DVWP) on the web from several sources. అయితే, I found it to be surprisingly difficult to find information on this first very basic step. Here is another article in the "quick and easy" అది పరిష్కరించేందుకు సిరీస్.

ఒక డేటా వీక్షణ వెబ్ భాగం సృష్టించడానికి ఈ దశలను అనుసరించండి (DVWP). They are based on an "Announcements" వెబ్ భాగం, కానీ చాలా జాబితాలు వర్తిస్తాయి.

  1. ఒక ప్రకటనలు వెబ్ భాగం సృష్టించు మరియు ఒక సైట్ కు జోడించండి.
  2. SharePoint డిజైనర్ లో సైట్ తెరువు.
  3. సైట్ యొక్క default.aspx తెరువు.
  4. Select the Announcements web part and right-click.
  5. విషయ మెనూ నుండి, select "Convert to XSదిT Data View".

SharePoint డిజైనర్ ఈ సైట్ ప్రస్తుతం దాని సైట్ నిర్వచనం అనుగుణంగా మీరు చెబుతుంది. ఆ అవసరం చెడు కాదు, కానీ ప్రధాన చిక్కులను ఉన్నాయి (నిర్వహణ, అప్గ్రేడ్, ఇతరులు) which are beyond the scope of this little "Quick and Easy" ప్రవేశం. To get more information on this subject, నేను రెండు పుస్తకాలను సిఫార్సు ఇక్కడ అలాగే మీ ఇష్టమైన ఇంటర్నెట్ శోధన.

మీరు సరిగ్గా అది ధ్రువీకరిస్తుంది:

  1. వెబ్ బ్రౌజర్ను మూసివేసినప్పుడు మరియు తిరిగి తెరవబడుతుంది (to avoid accidentally re-posting the original "add a new web part").
  2. Select the web part’s arrow drop-down and choose "Modify Shared Web Part" మెను నుండి.
  3. సాధనం ప్యానెల్ కుడి తెరుస్తుంది.
  4. ప్యానెల్ దాని సాధారణ సెట్ ఎంపికలు నుండి ఈ మారింది:
ప్రతిమ

“SharePoint జాబితా నుండి జాబితా స్కీమా కాలమ్ ఆస్తి పొందలేము” — వివరణ / పని arounds

ఈ వారం, మేము చివరకు ఒక రిమోట్ యూజర్ ద్వారా నివేదించారు చేసినట్లు ఒక సమస్య పునరుత్పత్తి: ఆమె ప్రతిభను జాబితా యొక్క కంటెంట్లను ఎగుమతి ప్రయత్నించినప్పుడు, విషయాలు పని ప్రారంభించడానికి అనిపించవచ్చు, కానీ అప్పుడు ఎక్సెల్ లోపం పాపప్ ఉంటుంది: "Cannot get the list schema column property from the SharePoint list". She was running office 2003, windows XP and connecting to MOSS.

నేను ఇంటర్నెట్ల శోధించిన మరియు కొన్ని ఊహాగానాలు కానీ ఏమీ చూసింది 100% definitive. Hence, ఈ పోస్ట్.

సమస్య: ఎక్సెల్ దృష్టిలో ఎగుమతి తేదీ కలిగి (కాలమ్ తేదీ = డేటా రకం).

మాకు ఏమి పని: Convert the date to a "single line of text". అప్పుడు, ఒక తేదీ కి మార్చడానికి.

That solved it. It was nice to see that the conversion worked, నిజంగా. It was quite nervous that converting things this way would fail, but it did not.

ఈ బగ్ క్లయింట్ యొక్క మనస్సులో తేదీ డేటా రకం భారీ నీడ ఇస్తోంది, కాబట్టి మేము Microsoft నుండి ఒక ఖచ్చితమైన సమాధానం కలుసుకున్నాడు వెళుతున్న చేస్తున్నాం మరియు వారి అధికారిక సమాధానం మరియు హాట్ఫిక్స్ సమాచారం సమయం తరువాత తక్కువ వ్యవధిలో ఆశాజనక నేను పోస్ట్ చేస్తాను మరియు ఇక్కడ అప్డేట్.

ఇతర సూచనలు:

http://www.kevincornwell.com/blog/index.php/cannot-get-the-list-schema-column-property-from-the-sharepoint-list/

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2383611&SiteID=1

<చివర>

నా బ్లాగ్ సబ్స్క్రయిబ్.

Technorati టాగ్లు: ,

త్వరిత మరియు సింపుల్: SharePoint డిజైనర్ వర్క్ఫ్లో నుండి పొందుపరచబడింది హైపర్ లింక్ తో ఒక ఇమెయిల్ పంపండి

ఒకసారి లేదా రెండుసార్లు నెల, ఎవరైనా ఒక ఫోరమ్ ప్రశ్న: "How do I include hyperlinks to URL’s that are clickable from a SharePoint Designer email?"

ఎటువంటి వ్యాఖ్య లేకుండా సమర్పించబడిన: (బాగా, నిజానికి మరింత చిత్రం తర్వాత వ్యాఖ్యను ఉంది):

ప్రతిమ

బెక్కి ఇసర్మాన్ ఇమెయిల్ లో ఒక అంశం ఒక లింక్ పొందుపరచడానికి ఎలా ఒక ఉపయోగపడిందా వివరణ తో క్రింది: http://www.sharepointblogs.com/mosslover/archive/2007/11/20/addition-to-paul-galvin-s-post-about-sending-an-e-mail-with-hyperlinks-in-spd.aspx

కొత్త విడుదల: SharePoint డిజైనర్ వర్క్ఫ్లో పొడిగింపులు (స్ట్రింగ్ తారుమారు విధులు)

UPDATE: ఈ ప్రాజెక్ట్ వ్యాపారీకరించడంలో నా ఆలోచనలు కోసం ఇక్కడ చూడండి: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

నేను SharePoint డిజైనర్ ద్వారా రూపొందించినవారు ప్రస్తుతం పనితీరుకు కు స్ట్రింగ్ తారుమారు పొడిగింపులు అందజేయడం వంటి కార్యక్రమాలపై దృష్టిపెట్టారు ఇది నా Codeplex ప్రాజెక్ట్ పని బిజీగా ఉన్నాను.

వివరాల కోసం ఇక్కడ చూడండి:

ప్రాజెక్ట్ హోమ్: http://www.codeplex.com/spdwfextensions

విడుదల: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

వెర్షన్ 1.0 కింది కొత్త లక్షణాలను కలిగి ఉంది:

ఫంక్షన్ వర్ణన (అదే లేకపోతే. నికర ఫంక్షన్)
Num-ఎంట్రీలు() Returns the number "entries" in a string as per a specified delimiter.

ఉదాహరణకు: Num-entries in a string "a,బి,సి" with delimiter "," = 3.

ప్రవేశం() Returns the nth token in a string as per a specified delimiter.
పొడవు String.Length
భర్తీ() String.Replace()
కలిగి() String.Contains()
Returns the word "true" or the word "false".
Substring(ప్రారంభించు) String.Substring(ప్రారంభించు)
Substring(ప్రారంభించు,పొడవు) String.Substring(ప్రారంభించు,పొడవు)
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".

వివరించింది BDC runtime లోపం

నేను యూజర్ ఇంటర్ఫేస్ మరియు తనను తాను వ్యక్తం ఈ వారం ఒక BDC లోపం కారణంగా 12 అందులో నివశించే తేనెటీగలు లాగ్ రన్టైమ్ వద్ద.

మొదటి, ఈ యూజర్ ఇంటర్ఫేస్ లో కనిపించింది:

అన్ని గుర్తించేది విలువలు ఇన్సర్ట్ చెయ్యడానికి ఖాళీలను సరిగ్గా పేరు ఒక SpecificFinder MethodInstance అమలు కనుగొనడం సాధ్యం కాలేదు … ఇన్పుట్ పారామితులు ఈ సంస్థ నిర్వచించవచ్చు ప్రతి ఐడెంటిఫైయర్ సంబంధం TypeDescriptors అందిస్తామని.

ఇక్కడ ఒక స్క్రీన్ షాట్:

clip_image001

నేను కూడా ఈ సందేశంలో కనిపిస్తుంది కారణం కావచ్చు 12 అందులో నివశించే తేనెటీగలు లాగ్ సంకల్పం (using my patented high-tech-don’t-try-this-at-home "mysterious errors" పద్ధతి):

11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C SharePoint Portal Server Business Data 6q4x High Exception in BusinessDataWebPart.OnPreRender: System.InvalidOperationException: గుర్తించేది విలువ ”, రకం ”, చెల్లదు. Expected Identifier value of Type ‘System.String’. Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific వద్ద(వస్తువు[] subIdentifierValues, LobSystemInstance lobSystemInstance) Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity వద్ద(సంస్థ పరిధి, వస్తువు[] userValues, LobSystemInstance lobSystemInstance) Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance వద్ద(చూడండి desiredView) Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance వద్ద() Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties వద్ద()

నేను చుట్టూ శోధించిన మరియు కొన్ని లీడ్స్ దొరకలేదు MSDN ఫోరమ్, but they weren’t enough for me to understand what I was doing wrong. I watched a webcast by టెడ్ పటిసన్ నా సంస్థ ఒక సర్వర్ పై దూరంగా squirreled మరియు నా సమస్య గ్రహించడం వచ్చింది ఉంది.

నా ADF లో, చూపిన విధంగా నేను ఒక SQL డేటాబేస్ అనుసంధానం వెబ్:

            <ఆస్తి పేరు="RdbCommandText" రకము="System.String">
              <![CDATA[
                బాలినేని
                      , CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, నెట్వర్క్ను, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      COUNTRY, ADDRESS1, ADDRESS2, ADDRESS3, ADDRESS4, నగరం, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      COUNTY, రాష్ట్రం, పోస్టల్, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, ఫోన్, EXTENSION, ఈ విధానం ద్వారా పంపబడిన సమాచారము, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG
                 (nolock)
                WHERE
                  (Leas <> 'భాగస్వామ్యం') మరియు
                  (తక్కువ(CARRIER_ID) >= తక్కువ(@ MinID)) మరియు
                  (తక్కువ(CARRIER_ID) <= తక్కువ(@ MaxId)) మరియు
                  (తక్కువ(DESCR) తక్కువ వంటి(@ InputDescr))
                ]]>
            </ఆస్తి>

నేను ఒక DBA వ్యక్తి నుండి SQL అందించబడింది మరియు నేను ఆ అర్థం ఇచ్చిన వెబ్ ఒక ప్రత్యేకమైన view they created just for me. The unique key there is CARRIER_ID.

ఇక్కడ నేను పరిచయం దోషం:

      <గుర్తింపులు>
        <గుర్తించు పేరు="CARRIER_ID" TypeName="System.String" />
        <గుర్తించు పేరు="DESCR" TypeName="System.String" /> 
</గుర్తింపులు>

సంవేర్ లైన్ వెంట, నేను యొక్క అర్థం మీద నాకు కంగారు చేయగలిగాడు <గుర్తింపులు> and added DESCR even though it’s not actually an identifier. I took DESCR out of the identifiers set and presto! ఇది అన్ని పని.

I hope this saves someone some grief 🙂

Technorati టాగ్లు: , , ,