ಶೇರ್ಪಾಯಿಂಟ್ ಭದ್ರತಾ ಫಂಡಮೆಂಟಲ್ಸ್ ಪ್ರೈಮರ್ / ಸಾಮಾನ್ಯ ಅಪಾಯಗಳನ್ನು ತಪ್ಪಿಸಲು

ನವೀಕರಿಸಲು 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.

ಫಂಡಮೆಂಟಲ್ಸ್:

ಈ ಅವಲೋಕನ ಉದ್ದೇಶಗಳಿಗಾಗಿ, ಭದ್ರತೆಗೆ ನಾಲ್ಕು ಮೂಲಭೂತ ಅಂಶಗಳು ಇವೆ: ಬಳಕೆದಾರರು / ಗುಂಪುಗಳು, ಪಡೆಯಲಾಗುವ ವಸ್ತುಗಳು, ಅನುಮತಿ ಮಟ್ಟ ಮತ್ತು ಪಿತ್ರಾರ್ಜಿತ.

ಬಳಕೆದಾರರು ಮತ್ತು ಗುಂಪುಗಳು ಗೆ ಒಡೆಯಲು:

  • ಪ್ರತ್ಯೇಕ ಬಳಕೆದಾರರ: ಸಕ್ರಿಯ ಕೋಶದಿಂದ ನಿಲ್ಲಿಸಲು ಅಥವಾ ನೇರವಾಗಿ ಶೇರ್ಪಾಯಿಂಟ್ ರಲ್ಲಿ ದಾಖಲಿಸಿದವರು.
  • ಗುಂಪುಗಳು: 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" ಒಂದು ನಿರ್ದಿಷ್ಟ ಪಡೆಯಲಾಗುವ ವಸ್ತುವಿಗೆ.

ಪಡೆಯಲಾಗುವ ವಸ್ತುಗಳು ಕನಿಷ್ಠ ಗೆ ಒಡೆಯಲು:

  • ತಾಣಗಳು
  • ಡಾಕ್ಯುಮೆಂಟ್ ಗ್ರಂಥಾಲಯಗಳು
  • ಪಟ್ಟಿಗಳು ಮತ್ತು ಕಡತ ಗ್ರಂಥಾಲಯಗಳಲ್ಲಿ ವೈಯಕ್ತಿಕ ಐಟಂಗಳನ್ನು
  • ಫೋಲ್ಡರ್ಗಳು
  • ವಿವಿಧ BDC ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು.

ಅಲ್ಲಿ ಇತರ ಪಡೆಯಲಾಗುವ ವಸ್ತುಗಳು, ಆದರೆ ನೀವು ಚಿತ್ರವನ್ನು ಪಡೆಯಲು.

ಅನುಮತಿ ಮಟ್ಟ: ಹರಳಿನ ಒಂದು ಕಟ್ಟು / 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.

ಬಳಕೆದಾರರು ಮತ್ತು ಗುಂಪುಗಳು ಅನುಮತಿ ಮಟ್ಟ ಮತ್ತು ಪಿತ್ರಾರ್ಜಿತ ಮೂಲಕ ಪಡೆಯಲಾಗುವ ವಸ್ತುಗಳಿಗೆ ಸಂಬಂಧ.

ತಿಳಿಯಲು ಹೆಚ್ಚಿನ ಪ್ರಮುಖ ಭದ್ರತಾ ನಿಯಮಗಳು, Ever 🙂 :

  1. ಗುಂಪುಗಳು ಕೇವಲ ಬಳಕೆದಾರರ ಸಂಗ್ರಹ.
  2. ಗುಂಪುಗಳು ಒಂದು ಸೈಟ್ ಸಂಗ್ರಹಣೆಯಲ್ಲಿ ಒಳಗೆ ಜಾಗತಿಕ ಇವೆ (ಅಂದರೆ. ಒಂದು ಸೈಟ್ ಮಟ್ಟದಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ ಗುಂಪು ಮೊದಲಾದ ವಿಷಯಗಳೇ ಇಲ್ಲ).
  3. ಗುಂಪು ಹೆಸರು ತಡೆದುಕೊಳ್ಳುವುದು ಅಲ್ಲ, ಗುಂಪುಗಳು ಇಲ್ಲ, ತಮ್ಮನ್ನು ಮತ್ತು ಆಫ್, have any particular level of security.
  4. Groups have security in the context of a specific securable object.
  5. ನೀವು ಪ್ರತಿ ಪಡೆಯಲಾಗುವ ವಸ್ತು ಒಂದೇ ಗುಂಪಿಗೆ ವಿವಿಧ ಅನುಮತಿ ಮಟ್ಟವನ್ನು ನೇಮಿಸುತ್ತಾರೆ.
  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, ನಾನು ಮಾನವ ಸಂಪನ್ಮೂಲ ಸೈಟ್ ಮೂಲಕ ಜನರು ಮತ್ತು ಗುಂಪುಗಳು ಕೊಂಡಿಗಳು ಪ್ರವೇಶಿಸಲು ಇರಬಹುದು, 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, ಹೀಗೆ ಮಾಡಿ!

ನನ್ನ ಟ್ಯಾಗ್ಗಳು:

ತ್ವರಿತ ಮತ್ತು ಸುಲಭ: ಒಂದು ಡೇಟಾವನ್ನು ವೀಕ್ಷಿಸಿ ವೆಬ್ ಭಾಗ ರಚಿಸಿ (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. ಶೇರ್ಪಾಯಿಂಟ್ ಡಿಸೈನರ್ ರಲ್ಲಿ ಸೈಟ್ ತೆರೆಯಿರಿ.
  3. ಸೈಟ್ನ default.aspx ತೆರೆಯಿರಿ.
  4. Select the Announcements web part and right-click.
  5. ಸಂದರ್ಭ ಮೆನು ಗೆ, select "Convert to XSಲೀT Data View".

ಶೇರ್ಪಾಯಿಂಟ್ ಡಿಸೈನರ್ ಈ ಸೈಟ್ ಈಗ ಸೈಟ್ ನಿರೂಪಣೆಯಿಂದ ಕಸ್ಟಮೈಸ್ ನಿಗದಿಪಡಿಸಲಾಗಿದೆ ನೀವು ಸೂಚನೆ. ಅದು ಅಗತ್ಯವಾಗಿ ಹೌದಾ, ಆದರೆ ಪ್ರಮುಖ ಪರಿಣಾಮಗಳನ್ನು ಇವೆ (ಅಭಿನಯ, ಏಳಿಗೆ, ಇತರೆ) 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. ಫಲಕ ಅದರ ಸಾಮಾನ್ಯ ಸೆಟ್ ಆಯ್ಕೆಗಳಿಂದ ಇದಕ್ಕೆ ಬದಲಾಗಿದೆ:
ಚಿತ್ರ

“ಶೇರ್ಪಾಯಿಂಟ್ ಪಟ್ಟಿಯಿಂದ ಪಟ್ಟಿ ಸ್ಕೀಮಾ ಕಾಲಮ್ ಆಸ್ತಿ ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ” — ವಿವರಣೆ / ಕೆಲಸದ ಅರೌಂಡ್ನಂತಹ

ಈ ವಾರ, ನಾವು ಅಂತಿಮವಾಗಿ ಒಂದು ದೂರಸ್ಥ ಬಳಕೆದಾರರು ವರದಿ ಎಂದು ಸಮಸ್ಯೆ ನಕಲು: ಅವಳು ಎಕ್ಸೆಲ್ ಒಂದು ಪಟ್ಟಿಯ ವಿಷಯಗಳನ್ನು ರಫ್ತು ಪ್ರಯತ್ನಿಸಿದಾಗ, ವಿಷಯಗಳನ್ನು ಕೆಲಸ ಪ್ರಾರಂಭಿಸಲು ತೋರುತ್ತದೆ, ಆದರೆ ಎಕ್ಸೆಲ್ ದೋಷ ಪಾಪ್ ಅಪ್ ಎಂದು: "Cannot get the list schema column property from the SharePoint list". She was running office 2003, windows XP and connecting to MOSS.

ನಾನು Internets ಅನೂಶೋಧಿಸಬಹುದು ಮತ್ತು ಕೆಲವು ಊಹಾಪೋಹ ಆದರೆ ಏನೂ ಕಂಡಿತು 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.

ಈ ದೋಷವನ್ನು ಗ್ರಾಹಕನ ಮನಸ್ಸಿನಲ್ಲಿ ದಿನಾಂಕದಂದು ದಶಮಾಂಶ ರೀತಿಯ ಮೇಲೆ ಒಂದು ದೊಡ್ಡ ನೆರಳು ಬಿಸಾಡಿದೆ, ನಾವು ಮೈಕ್ರೋಸಾಫ್ಟ್ ನಿಂದ ಒಂದು ನಿರ್ಣಾಯಕ ಉತ್ತರವನ್ನು ಅರಸುತ್ತಿರುವ ಹೊರಟಿರುವೆ ಮತ್ತು ತಮ್ಮ ಅಧಿಕೃತ ಉತ್ತರ ಮತ್ತು hotfix ಮಾಹಿತಿಯನ್ನು ಸಮಯದ ಮುಂದಿನ ಕಿರು ಅವಧಿಯಲ್ಲಿ ಆಶಾದಾಯಕವಾಗಿ ನಾನು ಪೋಸ್ಟ್ ಮಾಡುತ್ತೇವೆ ಮತ್ತು ಇಲ್ಲಿ ನವೀಕರಿಸಿ.

ಇತರೆ ಉಲ್ಲೇಖಗಳು:

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

<ಕೊನೆಯಲ್ಲಿ>

ನನ್ನ ಬ್ಲಾಗ್ ಚಂದಾದಾರರಾಗಿ.

ನನ್ನ ಟ್ಯಾಗ್ಗಳು: ,

ತ್ವರಿತ ಮತ್ತು ಸರಳ: ಶೇರ್ಪಾಯಿಂಟ್ ಡಿಸೈನರ್ ಕೆಲಸದೊತ್ತಡದ ನಿಂದ ಎಂಬೆಡ್ ಹೈಪರ್ಲಿಂಕ್ ಒಂದು ಇಮೇಲ್ ಕಳುಹಿಸಿ

ಒಮ್ಮೆ ಅಥವಾ ಎರಡು ತಿಂಗಳು, ಯಾರಾದರೂ ಪೋಸ್ಟ್ಗಳನ್ನು ಒಂದು ವೇದಿಕೆ ಪ್ರಶ್ನೆ: "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

ಹೊಸ ಬಿಡುಗಡೆ: ಶೇರ್ಪಾಯಿಂಟ್ ಡಿಸೈನರ್ ವರ್ಕ್ಫ್ಲೋ ವಿಸ್ತರಣೆಗಳು (ಸ್ಟ್ರಿಂಗ್ ಕುಶಲ ಕಾರ್ಯಗಳನ್ನು)

ನವೀಕರಿಸಲು: ಈ ಯೋಜನೆಯ ವಾಣಿಜ್ಯೀಕರಿಸುವಲ್ಲಿ ನನ್ನ ಆಲೋಚನೆಗಳು ಇಲ್ಲಿ ನೋಡಿ: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

ನಾನು ಶೇರ್ಪಾಯಿಂಟ್ ಡಿಸೈನರ್ ಮೂಲಕ ದಾಖಲಿಸಿದವರು ಪ್ರಸ್ತುತ ಕಾರ್ಯಗಳಲ್ಲಿ ಸರಣಿಯನ್ನು ಕುಶಲ ವಿಸ್ತರಣೆಗಳನ್ನು ಒದಗಿಸುವ ಗಮನ ಇದು ನನ್ನ 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".
ಸಬ್(ಆರಂಭಿಸಲು) String.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 ರನ್ಟೈಮ್ ದೋಷ

ನಾನು ಬಳಕೆದಾರ ಸಂಪರ್ಕಸಾಧನವನ್ನು ಮತ್ತು ಬಿಂಬಿತವಾಗಿದೆ ಈ ವಾರ ಒಂದು 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, PHONE, 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 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. ವ್ಯಾಪಾರೋದ್ಯಮ ನಿಂದ, ಮಾನವ ಸಂಪನ್ಮೂಲ ಪ್ರತಿನಿಧಿಸುವ ಹಲವಾರು ನಿರ್ದೇಶಕರು, ಬೀಡುಬಿಡಿಸುವ, ಉತ್ಪಾದನೆ, ಕ್ಯಾಪಿಟಲ್ ಯೋಜನೆಗಳು, ಗುಣಮಟ್ಟ, ಖರೀದಿ, ಕಾರ್ಪೊರೇಟ್ ಅಭಿವೃದ್ಧಿ ಮತ್ತು ಇತರ ವಿಭಾಗಗಳು (ಇವರಲ್ಲಿ ಕೆಲವರು ನೇರವಾಗಿ ಪ್ರಸ್ತುತ ಹಂತದಲ್ಲಿ ಭಾಗವಹಿಸುವ ಇಲ್ಲ). That’s a mighty wide audience.

ನನ್ನ ಮೊದಲು ಜೀವನದಲ್ಲಿ, 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 (ಇದು ಹೇಗೋ ತನ್ನ ತಲೆಯ ಮೇಲೆ ಮಾಡಲಾಗಿದೆ ಇಲ್ಲಿ 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.

ಏನು ಲೈಕ್, ಇದು ಪರಿಪೂರ್ಣ ಅಲ್ಲ, ಆದರೆ ಅದು ಒಂದು ದರಿದ್ರ ಉತ್ತಮ ಸ್ಥಳವಾಗಿದೆ.

ಆಫ್ ಲವ್ [ನಿಮ್ಮ ಪ್ರೀತಿಪಾತ್ರರಿಗೆ ವ್ಯಕ್ತಿ / ಹೆಚ್ಚಿನ ತುಂಬಲು ಎಂದು], don’t change the ‘Title’ ಸೈಟ್ ಕಾಲಮ್.

ಮೇಲೆ ಶೇರ್ಪಾಯಿಂಟ್ ವೇದಿಕೆಗಳು, someone occasionally asks about "changing the label of Title" or about "removing title from lists".

ಬಾಟಮ್ ಲೈನ್: ಅದನ್ನು ಮಾಡಬೇಡಿ!

ಶೋಚನೀಯವಾಗಿ, ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ ತೋರಿಸಿದಂತೆ ಸ್ತಂಭದ ಲೇಬಲ್ ಒಂದು ರೀತಿಯಲ್ಲಿ ಬದಲಾವಣೆ ಅನುಮತಿಸುತ್ತದೆ:

ಚಿತ್ರ

Title is a column associated with the "Item" ವಿಷಯ ಪ್ರಕಾರ. ಹಲವು, ಹಲವು, ಅನೇಕ CT ತಂದೆಯ ಈ ಕಾಲಮ್ ಅನ್ನು ಮತ್ತು ನೀವು ಇಲ್ಲಿ ಬದಲಾಯಿಸಿದರೆ, 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’ ಕೇವಲ ಒಂದು ಕಾಲಮ್ ಹೆಸರು ಅರ್ಥದಲ್ಲಿ ಮಾಡುವುದಿಲ್ಲ, 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’, ಪ್ರತಿ ಪಟ್ಟಿ ಶೀರ್ಷಿಕೆ (ಡಾಕ್ಯುಮೆಂಟ್ ಗ್ರಂಥಾಲಯಗಳು ಸೇರಿದಂತೆ) changes to "Status Code" ಮತ್ತು ನೀವು ಬಹುಶಃ ಸಂಭವಿಸಿ ಆ ಉದ್ದೇಶ ಇರಲಿಲ್ಲ.

ನಿಜವಾದ ಸಮಸ್ಯೆ ಇದು ಒಂದು ರೀತಿಯಲ್ಲಿ ಬದಲಾವಣೆ ಎಂಬುದು. The UI "knows" that "title" is a reserved word. ಆದ್ದರಿಂದ, if you try and change "Status Code" back to "Title", ಇದು ನೀವು ನಿರ್ಬಂಧಿಸಬಹುದು ಮತ್ತು ಈಗ ನೀವು ಒಂದು ಮೂಲೆಗೆ ನಿಮ್ಮ ಬಣ್ಣ ಒಣಗಿ ಎಂದಿಗೂ ವರ್ಣಚಿತ್ರವನ್ನು ಬಳಸಿ 🙂

ನೀವು ಈಗಾಗಲೇ ಅದನ್ನು ಬದಲಾಯಿಸಿ ಆದ್ದರಿಂದ ಏನಾಗುತ್ತದೆ? 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.

ನಾನು ಸಂಶೋಧನೆಗೆ ವಸ್ತುಗಳ ನನ್ನ ಗದ್ದಲ ಪಟ್ಟಿಯಲ್ಲಿ ಇವು ಕೆಲವು ಕಲ್ಪನೆಗಳನ್ನು ಹೊಂದಿವೆ:

  • ಸಂಪರ್ಕ ಮೈಕ್ರೋಸಾಫ್ಟ್.
  • ಆಬ್ಜೆಕ್ಟ್ ಮಾಡೆಲ್ ಜೊತೆ ಏನಾದರೂ, ಬಹುಶಃ ಒಂದು ವೈಶಿಷ್ಟ್ಯವನ್ನು ಸಂಯೋಗದೊಂದಿಗೆ.
  • ಡೇಟಾಬೇಸ್ ಸ್ಕೀಮಾ ಲೆಕ್ಕಾಚಾರ ಮತ್ತು ಕೈಯಾರೆ SQL ನವೀಕರಿಸಿ. (ನೀವು ಸಹ ಈ ಮೊದಲೇ ಮೈಕ್ರೋಸಾಫ್ಟ್ ಸಂಪರ್ಕಿಸಬೇಕು; ಇದು ಸಾಧ್ಯತೆ ನಿಮ್ಮ ಬೆಂಬಲ ಒಪ್ಪಂದ ಪತ್ರವನ್ನು ರದ್ದು ಪಡಿಸುವುದು).

ಯಾರಾದರೂ ಈ ಪರಿಹರಿಸಲು ಹೇಗೆ ಗೊತ್ತಿದ್ದರೆ, ಒಂದು ಕಾಮೆಂಟ್ ಪೋಸ್ಟ್ ದಯವಿಟ್ಟು.

ಮಧ್ಯಾಹ್ನದ ನವೀಕರಿಸಿ, 11/15: ನಾನು ಒಂದು ಪ್ರಶಸ್ತಿಯನ್ನು ಕಾಲಮ್ ಹೊಂದಿಲ್ಲ ಎಂದು ಪಟ್ಟಿಯಲ್ಲಿ ಒಂದು ರೀತಿಯ ರಚಿಸಲು ಒಂದು ವಿಧಾನವನ್ನು ವಿವರಿಸುವ ಈ ಲಿಂಕ್ ಕಂಡುಬಂದಿಲ್ಲ: http://www.venkat.org/index.php/2007/09/03/how-to-remove-title-column-from-a-custom-list/

BDC ADF ಮತ್ತು ನಿಮ್ಮ ಸ್ನೇಹಿತ, CDATA

ನಾನು ಕೆಲವು ಉದಾಹರಣೆಗಳಲ್ಲಿ RdbCommandText ಕೆಲವು ವಿಚಿತ್ರವಾದ ಮತ್ತು ಅನಗತ್ಯ ಕೈ ಎನ್ಕೋಡಿಂಗ್ ಗಮನಿಸಿದ್ದೇವೆ ನೀವು (MSDN ದಸ್ತಾವೇಜನ್ನು ಸೇರಿದಂತೆ).

I wanted to point out to newcomers to BDC that commands can be wrapped inside a CDATA tag in their "natural" form. ಆದ್ದರಿಂದ, ಈ ವಿಚಿತ್ರವಾಗಿ ನಿರ್ಮಾಣ:

<ಆಸ್ತಿ ಹೆಸರು="RdbCommandText" ಕೌಟುಂಬಿಕತೆ="System.String">
Dbo.MCRS_SETTLEMENT.id ಆಯ್ಕೆ, dbo.MCRS_SETTLEMENT ರಿಂದ dbo.MCRS_SETTLEMENT.settlement
WHERE (ಐಡಿ &GT;= @ MinIDs) ಮತ್ತು (ಐಡಿ &ಲೆಫ್ಟಿನೆಂಟ್;= @ MaxId)
</ಆಸ್ತಿ>

ಉತ್ತಮ ಈ ರೀತಿಯಲ್ಲಿ ನಿರೂಪಿಸಲಾಗಿದೆ ಮಾಡಬಹುದು:

<ಆಸ್ತಿ ಹೆಸರು="RdbCommandText" ಕೌಟುಂಬಿಕತೆ="System.String">
<![CDATA[
Dbo.MCRS_SETTLEMENT.id ಆಯ್ಕೆ, dbo.MCRS_SETTLEMENT ರಿಂದ dbo.MCRS_SETTLEMENT.settlement
WHERE (ಐಡಿ >= @ MinIDs) ಮತ್ತು (ಐಡಿ <= @ MaxId)
]]>
</ಆಸ್ತಿ>

</ಕೊನೆಯಲ್ಲಿ>

BDC ಉದಾಹರಣೆ

BDC ಗೆ ಪರಿಚಯ

ಕಾರ್ಯಾತ್ಮಕ ಉದಾಹರಣೆ: BDC ADF ಎಂದು ಎಂಬೆಡೆಡ್ ಬಳಕೆದಾರ ಐಡಿ ಮತ್ತು ಪಾಸ್ವರ್ಡ್ ಜೊತೆ SQL ಡೇಟಾಬೇಸ್ ಸಂಪರ್ಕ

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 ಈ ಟೆಂಪ್ಲೇಟ್ (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), ನಾನು ಒಂದು ನಿರ್ದಿಷ್ಟ ಬಳಕೆದಾರರ ಐಡಿ ಮತ್ತು ಪಾಸ್ವರ್ಡ್ ನೊಂದಿಗೆ ಒಂದು ನಿರ್ದಿಷ್ಟ SQL ಸರ್ವರ್ ಉದಾಹರಣೆಗೆ ಮತ್ತು ದಾಖಲೆಗಳು ಸಂಪರ್ಕಿಸುವ ಒಂದು ADF ದಾಖಲಿಸಿದವರು ಮತ್ತು ಈ ತುಣುಕನ್ನು ತೋರಿಸಲಾಗಿದೆ:

  <LobSystemInstances>
    <LobSystemInstance ಹೆಸರು="ClaimsInstance">
      <ಗುಣಲಕ್ಷಣಗಳು>
        <ಆಸ್ತಿ ಹೆಸರು="AuthenticationMode" ಕೌಟುಂಬಿಕತೆ="System.String">ಪಾಸ್ತ್ರೂ</ಆಸ್ತಿ>
        <ಆಸ್ತಿ ಹೆಸರು="DatabaseAccessProvider" ಕೌಟುಂಬಿಕತೆ="System.String">SqlServer</ಆಸ್ತಿ>
        <ಆಸ್ತಿ ಹೆಸರು="RdbConnection ಡೇಟಾ ಮೂಲ" ಕೌಟುಂಬಿಕತೆ="System.String">ನಿಜವಾದ ಸರ್ವರ್  ನಿಜವಾದ ಉದಾಹರಣೆಗೆ</ಆಸ್ತಿ>
        <ಆಸ್ತಿ ಹೆಸರು="RdbConnection ಆರಂಭಿಕ ಕ್ಯಾಟಲಾಗ್" ಕೌಟುಂಬಿಕತೆ="System.String">ನಿಜವಾದ ಆರಂಭಿಕ ಕ್ಯಾಟಲಾಗ್</ಆಸ್ತಿ>
        <ಆಸ್ತಿ ಹೆಸರು="RdbConnection ಇಂಟಿಗ್ರೇಟೆಡ್ ಸೆಕ್ಯುರಿಟಿ" ಕೌಟುಂಬಿಕತೆ="System.String">SSPI</ಆಸ್ತಿ>
        <ಆಸ್ತಿ ಹೆಸರು="ಸಂಚಯನ RdbConnection" ಕೌಟುಂಬಿಕತೆ="System.String">ತಪ್ಪಾದ</ಆಸ್ತಿ>

        <!-- ಈ ಕೀಲಿಯನ್ನು ಮೌಲ್ಯಗಳು: -->
        <ಆಸ್ತಿ ಹೆಸರು="RdbConnection ಬಳಕೆದಾರ ID" ಕೌಟುಂಬಿಕತೆ="System.String">ಒಂದುನಿಜವಾದ ಬಳಕೆದಾರ ID</ಆಸ್ತಿ>
        <ಆಸ್ತಿ ಹೆಸರು="RdbConnection ಪಾಸ್ವರ್ಡ್" ಕೌಟುಂಬಿಕತೆ="System.String">ನಿಜವಾದ ಪಾಸ್ವರ್ಡ್</ಆಸ್ತಿ>
        <ಆಸ್ತಿ ಹೆಸರು="RdbConnection Trusted_Connection" ಕೌಟುಂಬಿಕತೆ="System.String">ತಪ್ಪಾದ</ಆಸ್ತಿ>

      </ಗುಣಲಕ್ಷಣಗಳು>
    </LobSystemInstance>
  </LobSystemInstances>

ಇದು ಒಂದು ಉತ್ತಮ ಅಲ್ಲ, 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 ಮತ್ತು ಪಾಸ್ವರ್ಡ್
  • adf ಬಳಕೆದಾರ ಐಡಿ ಮತ್ತು ಪಾಸ್ವರ್ಡ್ ಎಂಬೆಡ್
  • adf bdc ಬಳಕೆದಾರ ಐಡಿ ಮತ್ತು ಪಾಸ್ವರ್ಡ್ ಎಂಬೆಡ್
  • ಶೇರ್ಪಾಯಿಂಟ್ bdc ಪ್ರೈಮರ್
  • ಶೇರ್ಪಾಯಿಂಟ್ ಎಂಬೆಡ್ ಬಳಕೆದಾರ ಐಡಿ ಮತ್ತು adf ರಲ್ಲಿ ಪಾಸ್ವರ್ಡ್

</ಕೊನೆಯಲ್ಲಿ>

ನನ್ನ ಬ್ಲಾಗ್ ಚಂದಾದಾರರಾಗಿ.