แนวทางสำหรับการเรียนขั้นพื้นฐานของ SharePoint ปลอดภัย / หลีกเลี่ยงการนี่ทั่วไป

โปรแกรมปรับปรุง 12/18/07: ดูบทความของ Paul Liebrand สำหรับผลทางด้านเทคนิคบางอย่างของเอาออก หรือปรับเปลี่ยนชื่อกลุ่มเป็นค่าเริ่มต้น (ดูความคิดเห็นของเขาด้านล่างเช่นกัน).

ภาพรวม:

ความปลอดภัยของ SharePoint จะง่ายต่อการตั้งค่าคอนฟิก และจัดการ. อย่างไรก็ตาม, มันได้พิสูจน์ให้เป็นเรื่องยากสำหรับผู้ดูแลบางครั้งแรกจริง ๆ ห่อมือรอบ ๆ. ไม่เฉพาะที่, ฉันได้เห็นผู้ดูแลมาเข้าใจสมบูรณ์วันจันทร์จะได้หายไปได้ภายในวันศุกร์เนื่องจากมีการกำหนดค่าใด ๆ ในเวลาอยู่ระหว่างกลาง. (ข้าพเจ้ายอมรับว่า มีปัญหานี้เอง). รายการบล็อกนี้ช่วยให้รองพื้นรักษาความปลอดภัยของ SharePoint มีประโยชน์ และหวังว่าชี้ไปทางบางความปลอดภัยกำหนดแนวทางปฏิบัติ.

หมายเหตุสำคัญ:

คำอธิบายนี้จะขึ้นอยู่กับความปลอดภัยของ SharePoint กล่อง. ประสบการณ์ส่วนตัวเป็นจุดเด่นมอดังนั้นอาจมีบางมอเฉพาะสิ่งที่นี่, แต่ผมเชื่อว่า มันถูกต้องสำหรับ WSS. หวังว่า ทุกคนที่เห็นข้อผิดพลาดหรือการละเว้นใด ๆ จะชี้ที่ออกในข้อคิดเห็น หรือ อีเมล์ผม. ผมจะทำการแก้ไขรีบลง.

ข้อมูลพื้นฐานของเดสก์ท็อป:

สำหรับวัตถุประสงค์ในภาพรวมนี้, มีลักษณะพื้นฐาน 4 การรักษาความปลอดภัย: กลุ่มผู้ใช้, วัตถุที่กำหนดสิทธิ์ได้, ระดับสิทธิ์และสืบทอด.

ผู้ใช้และกลุ่ม ทำลายลงไป:

  • แต่ละคน: ดึงจากที่ใช้งานอยู่ไดเรกทอรี หรือสร้างขึ้นโดยตรงใน SharePoint.
  • กลุ่ม: แมปโดยตรงจากไดเรกทอรีที่ใช้งานอยู่ หรือสร้างใน SharePoint. กลุ่มคือ กลุ่มของผู้ใช้. กลุ่มที่เป็นส่วนกลางในไซต์คอลเลกชัน. พวกเขาจะไม่ "ผูก" วัตถุที่กำหนดสิทธิ์ได้เฉพาะ.

วัตถุที่กำหนดสิทธิ์ได้ ทำลายลงไปน้อย:

  • เว็บไซต์
  • ไลบรารีเอกสาร
  • สินค้าแต่ละรายการในรายการและไลบรารีเอกสาร
  • โฟลเดอร์
  • การตั้งค่าต่าง ๆ ของ BDC.

มีวัตถุอื่น ๆ ที่กำหนดสิทธิ์ได้, แต่คุณได้รับรูปภาพ.

ระดับของสิทธิ์: Granular / สิทธิการเข้าถึงระดับต่ำสุดที่รวมสิ่งต่าง ๆ เช่นสร้าง/อ่าน/ลบรายการในรายการ.

สืบทอด: โดยเอนทิตีเริ่มต้นสืบทอดการตั้งค่าความปลอดภัยจากวัตถุที่มีความ. ไซต์ย่อยสืบทอดสิทธิ์จากวัตถุแม่ของพวกเขา. ไลบรารีเอกสารสืบทอดมาจากเว็บไซต์ของพวกเขา. อื่น ๆ และอื่น ๆ.

ผู้ใช้และกลุ่มที่เกี่ยวข้องกับวัตถุที่กำหนดสิทธิ์ได้ผ่านระดับสิทธิ์และสืบทอด.

กฎความปลอดภัยสำคัญที่สุดที่จะเข้าใจ, เคย🙂 :

  1. กลุ่มเป็นเพียงคอลเลกชันของผู้ใช้.
  2. กลุ่มเป็นส่วนกลางในไซต์คอลเลกชัน (อาทิ. ไม่มีสิ่งดังกล่าวเป็นกลุ่มที่กำหนดไว้ในระดับไซต์).
  3. ชื่อกลุ่มไม่ซิ, กลุ่มไม่, ใน และ ของตัวเอง, มีความปลอดภัยในระดับใด ๆ โดยเฉพาะ.
  4. กลุ่มมีความปลอดภัยในบริบทของวัตถุกำหนดสิทธิ์ได้.
  5. คุณอาจกำหนดระดับของสิทธิ์ที่แตกต่างกันในกลุ่มเดียวกันสำหรับทุกวัตถุที่กำหนดสิทธิ์ได้.
  6. เว็บแอพลิเคชันนโยบายทรัมพ์ทั้งหมดนี้ (ดูด้านล่าง).

หายไปในทะเลของรายการและกลุ่มผู้ใช้ผู้ดูแลระบบความปลอดภัยสามารถไว้ในสัจพจน์เหล่านี้เพื่อจัดการ และเข้าใจการตั้งค่าคอนฟิกความปลอดภัย.

ข้อผิดพลาดทั่วไป:

  • ชื่อกลุ่มแอบเป็นสิทธิ์แบบสิทธิ์: กล่อง, SharePoint กำหนดชุดของกลุ่มชื่อเป็นสิทธิ์แบบมีความปลอดภัยโดยธรรมชาติ. พิจารณากลุ่ม "ผู้สนับสนุน". ไม่คุ้นเคยกับความปลอดภัยของ SharePoint อาจดีดูชื่อ และคิดว่า สมาชิกของกลุ่มที่สามารถ "มีส่วนร่วม" ทุกไซต์/รายการ/ไลบรารีในเว็บไซต์. ที่อาจเป็นจริงแต่ไม่ได้ เพราะชื่อของกลุ่มเกิดขึ้น เป็น "ผู้สนับสนุน". ก็เฉพาะกล่องเนื่องจากกลุ่มมีการให้ระดับของสิทธิ์ที่ช่วยให้พวกเขาสามารถเพิ่ม/แก้ไข/ลบเนื้อหาที่ไซต์ราก. ผ่านการสืบทอด, ที่ "ผู้ให้การสนับสนุน" กลุ่มอาจจะเพิ่ม/แก้ไข/ลบเนื้อหาที่แต่ละไซต์ย่อย. หนึ่งสามารถ "แบ่ง" สายสืบทอดและเปลี่ยนระดับสิทธิ์ของย่อยไซต์ดังกล่าวให้สมาชิกที่เรียกว่า "ผู้สนับสนุน" กลุ่มไม่สนับสนุนเลย, แต่อ่าน (ตัวอย่างเช่น). นี้จะไม่เป็นความคิดที่ดี, เห็นได้ชัด, เนื่องจากมันจะสับสนมาก.
  • ไม่มีกำหนดกลุ่มที่ระดับไซต์. มีอินเทอร์เฟซผู้ใช้สับสน. Microsoft ให้การเชื่อมโยงที่สะดวกเพื่อการบริหารจัดการกลุ่มผู้ใช้ผ่านทางเว็บไซต์ทุก "คนและกลุ่ม" การเชื่อมโยง. ง่ายให้เชื่อได้ว่าเมื่อฉันที่เว็บไซต์ "xyzzy" ผมสร้างกลุ่มผ่านคนของ xyzzy และกลุ่มเชื่อมโยงที่ฉันเพิ่งได้สร้างกลุ่มที่มีอยู่ที่ xyzzy. เป็นกรณีไม่. เราได้สร้างกลุ่มสำหรับไซต์ทั้งหมดจริง.
  • สมาชิกกลุ่มไม่แตกต่างกันไปตามไซต์ (อาทิ. มันจะเหมือนกันทุกที่กลุ่มนี้จะใช้): พิจารณากลุ่มคำ "เจ้า" และสองไซต์, "HR" และ "โลจิสติกส์". มันจะปกติคิดว่า บุคคลสองแยกจะเป็นเจ้าของเว็บไซต์เหล่านั้น — เจ้าของ HR และเจ้าของโลจิสติกส์. อินเทอร์เฟซสำหรับผู้ใช้ทำให้ง่ายสำหรับผู้ดูแลระบบรักษาความปลอดภัยเพื่อ mishandle สถานการณ์นี้. ถ้าฉันไม่ได้รู้ดี, ฉันเข้าถึงการเชื่อมโยงคนและกลุ่มผ่านไซต์ HR, เลือกเจ้าของ"" กลุ่ม และเพิ่มเจ้าของฉันชั่วโมงกลุ่ม. หนึ่งเดือนต่อมา, โลจิสติกส์ที่มาบนบรรทัด. ฉันเข้าถึงประชาชนและกลุ่มจากเว็บไซต์โลจิสติกส์, เพิ่มดึงขึ้นมาเจ้า"" กลุ่ม. ผมเห็นเจ้าของ HR มี และเอาเธอ, คิดว่า ผมกำลังเอาเธอจากเจ้าของเว็บไซต์โลจิสติกส์. อันที่จริง, ผมกำลังเอาเธอจากกลุ่มเจ้าของโลก. Hilarity การ์ตูน.
  • เสียชื่อกลุ่มตามบทบาทเฉพาะ: อนุมัติ"" กลุ่มเป็นตัวอย่างที่สมบูรณ์แบบ. สิ่งที่สามารถสมาชิกของกลุ่มการอนุมัตินี้? ซึ่งสามารถที่อนุมัติหรือไม่? ฉันจริง ๆ ต้องคนแผนกโลจิสติกส์เพื่อให้สามารถอนุมัติเอกสาร HR? ไม่แน่นอน. ชื่อกลุ่มตามบทบาทของตนในองค์กรเสมอ. นี้จะช่วยลดความเสี่ยงที่กลุ่มกำหนดระดับการอนุญาตที่ไม่เหมาะสมสำหรับวัตถุที่กำหนดสิทธิ์ได้เฉพาะ. ชื่อกลุ่มตามบทบาทของตนกำหนดไว้. ในสถานการณ์ก่อนหน้านี้ HR/โล จิสติกส์, ฉันควรสร้างกลุ่มใหม่สอง: "เจ้าของ HR" และ "เจ้าของโลจิสติกส์" และกำหนดระดับของสิทธิ์ที่เหมาะสมสำหรับแต่ละรายการและยอดเงินต่ำสุดที่จำเป็นสำหรับผู้ใช้การทำงานของพวกเขา.

อ้างอิงที่เป็นประโยชน์อื่น ๆ:

ถ้าคุณได้ทำเรื่องนี้ไกล:

กรุณาแจ้งให้เราทราบว่าความคิดของคุณผ่านข้อคิดเห็น หรือส่ง. ถ้าคุณทราบอ้างอิงอื่น ๆ ดี, กรุณาทำอย่างเดียว!

แท็กของ Technorati:

ง่าย และรวดเร็ว: สร้าง Web Part มุมมองข้อมูล (DVWP)

มีข้อมูลดี ๆ ใน WSS ให้เลือกมากมาย 3.0 Web part สำหรับมุมมองข้อมูล (DVWP) บนเว็บจากหลายแหล่ง. อย่างไรก็ตาม, ผมพบว่ามันจะจู่ ๆ ยากที่จะค้นหาข้อมูลในขั้นตอนนี้มากครั้งแรก. นี่เป็นบทความอื่น "ง่าย และรวดเร็ว" ชุดที่อยู่.

ทำตามขั้นตอนเหล่านี้เพื่อสร้าง web part มุมมองข้อมูล (DVWP). เกี่ยวกับการประกาศ"" ส่วนเว็บ, แต่กับรายการมากที่สุด.

  1. ส่วนเว็บประกาศสร้าง และเพิ่มไปยังไซต์.
  2. เปิดไซต์ใน SharePoint Designer.
  3. เปิดของไซต์ default.aspx.
  4. เลือกประกาศ web part และคลิกขวา.
  5. จากเมนูบริบท, เลือก "แปลงกับ XSLมุมมองข้อมูล T".

SharePoint Designer จะแจ้งคุณว่า เว็บไซต์นี้ขณะนี้กำหนดจากข้อกำหนดของไซต์. ที่ไม่จำเป็นต้องเลว, แต่มีนัยสำคัญ (ประสิทธิภาพการทำงาน, อัพเกรด, ผู้อื่น) ซึ่งอยู่นอกเหนือขอบเขตของเรื่องนี้น้อย "อย่างรวดเร็วและง่าย" รายการ. เพื่อรับข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้, ผมแนะนำหนังสือทั้งสอง ที่นี่ และค้นหาอินเทอร์เน็ตของคุณชื่นชอบ.

ยืนยันว่า คุณไม่ได้ถูกต้อง:

  1. ปิด และเปิดเว็บเบราว์เซอร์อีกครั้ง (เพื่อหลีกเลี่ยงการตั้งใจเลิกเดิม "เพิ่ม web part ใหม่").
  2. เลือก web part ของลูกศรแบบหล่นลง และเลือก "แก้ไขร่วมกัน" จากเมนู.
  3. เปิดแผงเครื่องมือทางด้านขวา.
  4. แผงมีการเปลี่ยนแปลงจากปกติการตั้งค่าตัวเลือกนี้:
รูปภาพ

“ไม่สามารถรับคุณสมบัติคอลัมน์ schema ของรายการจากรายการ SharePoint” — รายละเอียดงาน-arounds

สัปดาห์นี้, เราทำซ้ำจนเป็นปัญหาที่มีการรายงาน โดยผู้ใช้ระยะไกล: เมื่อเธอพยายามจะส่งเนื้อหาของรายการไปยัง excel, สิ่งที่ดูเหมือนจะ เริ่มทำงาน, แต่แล้ว Excel จะปรากฏขึ้นข้อผิดพลาด: "ไม่สามารถรับคุณสมบัติคอลัมน์ schema ของรายการจากรายการ SharePoint". เธอทำงานสำนักงาน 2003, windows XP และเชื่อมต่อกับมอ.

ผมค้น Internets และเห็นบางเก็งกำไรแต่ไม่มีอะไร 100% ทั่วไป. ดังนั้น, บทความนี้.

ปัญหา: ส่งออกมุมมองไปยัง excel ที่ประกอบด้วยวัน (วัน =ชนิดข้อมูลของคอลัมน์).

อะไรทำให้เรา: แปลงวันเป็น "ข้อความบรรทัดเดียว". แล้ว, แปลงไปวัน.

ที่แก้ไข. ก็ดีจะเห็นว่า การแปลงทำงาน, จริง. ก็ค่อนข้างประสาทว่า แปลงวิธีนี้สิ่งที่จะล้มเหลว, แต่มันไม่.

ปัญหานี้เกิดขึ้นเงาขนาดใหญ่บนชนิดข้อมูลวันที่ในใจของลูกค้า, ดังนั้นเราจะสามารถหาคำตอบทั่วไปจาก 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 Designer

ครั้งหรือสองเดือน, คนโพสต์คำถามสนทนา: "วิธีทำผมรวมไป URL ของที่คลิกได้จากเมล์ SharePoint Designer?"

นำเสนอ โดยเพิ่มเติมข้อคิดเห็น: (ดี, จริง ๆ แล้ว มีข้อคิดเห็นเพิ่มเติมหลังจากรูปภาพ):

รูปภาพ

Becky Isserman นี้ มีคำอธิบายที่เป็นประโยชน์เกี่ยวกับวิธีการฝังการเชื่อมโยงกับสินค้าในอีเมล์: 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 Designer (ฟังก์ชันการจัดการสตริ)

โปรแกรมปรับปรุง: ดูที่นี่สำหรับความคิดของฉันใน commercializing โครงการนี้: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

ผมเคยทำงานในโครงการของฉัน Codeplex ซึ่งปัจจุบันให้ความสำคัญสายจัดการส่วนขยายของกระแสงานที่สร้างผ่าน SharePoint Designer ว่าง.

ดูรายละเอียดที่นี่:

โครงการบ้าน: http://www.codeplex.com/spdwfextensions

นำออกใช้: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

เวอร์ชัน 1.0 ประกอบด้วยคุณลักษณะใหม่ต่อไปนี้:

ฟังก์ชัน คำอธิบาย (ถ้าไม่เหมือน.Net ฟังก์ชัน)
Num รายการ() ส่งกลับหมายเลข "รายการ" ในสายอักขระตามตัวระบุ.

ตัวอย่าง: Num รายการในสายอักขระ "a,b,c" กับตัว"," = 3.

รายการ() ส่งกลับค่าโทเค็นสายตามตัวระบุ.
ความยาว String.Length
แทน() String.Replace()
ประกอบด้วย() String.Contains()
ส่งกลับคำว่า "จริง" หรือคำว่า "เท็จ".
ด้วย(เริ่มต้น) String.Substring(เริ่มต้น)
ด้วย(เริ่มต้น,ความยาว) String.Substring(เริ่มต้น,ความยาว)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
ส่งกลับคำว่า "จริง" หรือคำว่า "เท็จ".
EndsWith() String.EndsWith()
ส่งกลับคำว่า "จริง" หรือคำว่า "เท็จ".

ข้อผิดพลาดรันไทม์ BDC ที่อธิบาย

ผมเกิดผิดพลาด BDC สัปดาห์นี้ที่ประจักษ์เอง บนอินเทอร์เฟซผู้ใช้ และในการ 12 บันทึกกลุ่ม ขณะใช้งานจริง.

แรก, นี้ปรากฏในส่วนติดต่อผู้ใช้:

ไม่พบฟิลด์เพื่อแทรกค่าตัวระบุทั้งหมดดำเนิน SpecificFinder MethodInstance ชื่ออย่างถูกต้อง … ตรวจสอบมิเตอร์คป้อนเกี่ยวข้องกับแต่ละรหัสที่กำหนดสำหรับเอนทิตีนี้.

นี่เป็นภาพหน้าจอ:

clip_image001

ฉันสามารถทำให้ข้อความนี้ปรากฏในการ 12 กลุ่มล็อกที่จะ (ใช้ high-tech-don't-try-this-at-home ของฉันจดสิทธิบัตร "ลึกลับผิด" วิธีการ):

11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C ข้อมูล SharePoint Portal Server ธุรกิจ 6q4x สูงยกเว้นใน BusinessDataWebPart.OnPreRender: System.InvalidOperationException: ค่าตัวระบุ ”, ของชนิด ”, ไม่ถูกต้อง. คาดค่าตัวระบุของชนิด '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, แต่พวกเขาไม่เพียงพอที่จะเข้าใจสิ่งที่ฉันได้ทำผิด. เฝ้าดูเว็บคาสต์โดย Ted Pattison ที่ของฉัน บริษัท มี squirreled เก็บบนเซิร์ฟเวอร์และมาตระหนักถึงปัญหาของฉัน.

ใน ADF ของฉัน, ฉันกำลังเชื่อมต่อกับฐานข้อมูล SQL แสดง:

            <คุณสมบัติ ชื่อ="RdbCommandText" ชนิด="System.String">
              <![CDATA[
                เลือก SETID, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      ประเทศ, ADDRESS1, ADDRESS2, ADDRESS3, ADDRESS4, เมือง, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      เขต, รัฐ, ไปรษณีย์, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, โทรศัพท์, ส่วนขยาย, โทรสาร, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG จาก dbo.PS_CARRIER_ID_VW ด้วย (nolock)
                ซึ่ง
                  (SETID <> 'หุ้น') และ
                  (ต่ำกว่า(CARRIER_ID) >ล่าง =(@MinId)) และ
                  (ต่ำกว่า(CARRIER_ID) <ล่าง =(@MaxId)) และ
                  (ต่ำกว่า(DESCR) ชอบล่าง(@InputDescr))
                ]]>
            </คุณสมบัติ>

ผมให้ที่ SQL จากบุคคลรวม และฉันให้เข้าใจว่า เป็นการ พิเศษ มุมมองที่พวกเขาสร้างขึ้นสำหรับฉัน. คีย์เฉพาะมีอยู่ CARRIER_ID.

นี่คือปัญหาที่ผมแนะนำ:

      <ตัวบ่งชี้>
        <รหัส ชื่อ="CARRIER_ID" TypeName="System.String" />
        <รหัส ชื่อ="DESCR" TypeName="System.String" /> 
</ตัวบ่งชี้>

บางแห่งตามแนว, ฉันได้จัดการสับสนตัวเองมากกว่าความหมายของ <ตัวบ่งชี้> และเพิ่ม DESCR แม้ว่าจะไม่เป็นจริงรหัส. ผมเอา DESCR รหัสชุดและ presto! มันทั้งหมดที่ทำงาน.

I hope this saves someone some grief 🙂

แท็กของ Technorati: , , ,

คุณไม่สามารถเอาชนะไปถึงของ SharePoint

ในระหว่างสองวันสุดท้าย, ผมได้มีส่วนร่วมในการประชุมสองที่เรานำเสนอผลลัพธ์ของโครงการ SharePoint. การ CIO และทีมของเขาเข้าร่วมการประชุมครั้งแรก. ที่เป็นมาตรฐาน และไม่โดดเด่นโดยเฉพาะอย่างยิ่ง. แผนกเป็นอย่างชัดเจนในการไวร์เลสองค์กรโครงการเทคโนโลยีใด ๆ. นัดที่สองขยายรวม V.P เป็น. จากตลาด, กรรมการหลายแทน HR, โลจิสติกส์, ผลิต, โครงการหลวง, คุณภาพ, การจัดซื้อ, พัฒนาองค์กรและหน่วยงานอื่น ๆ (บางคนก็ไม่ได้เกี่ยวข้องโดยตรงในระยะปัจจุบัน). เป็นผู้ไม.

ในชีวิตก่อน, ฉันทำงานในโครงการ ERP และ CRM เป็นหลัก. พวกเขาทั้งสองมีโดเมนโซลูชั่นที่ค่อนข้างหลากหลาย แต่ไม่มากมายเป็น SharePoint. จะรับรู้ทั้งหมด, โครงการ SharePoint ถูกต้องตามกฎหมาย และจำเป็นต้องเข้าถึงทุกนู๊คและสถานทูตขององค์กร. มีจำนวนอื่น ๆ องค์กรโซลูชั่นที่เข้าถึงชนิดของ? ไม่มากนัก.

SharePoint แทนโอกาสมหาศาลของเราโชคดีพอที่จะอยู่ในพื้นที่นี้อย่างชัดเจน. ให้โอกาสทางเทคนิคที่ดี (ที่อย่างใดอยู่ในหัวของมัน ที่นี่ ภายใต้ "เทคโนโลยีคุณต้องหลัก"). แม้แต่ดี, SharePoint exposes เราช่วงกว้างขวาง และหลากหลายของกระบวนการทางธุรกิจผ่านงานเหล่านี้. ผู้เชี่ยวชาญ CRM การทำงานกับด้านการผลิตของบริษัท? ที่ปรึกษา ERP การทำงานกับทรัพยากรบุคคลพรสวรรค์ซื้อ? SharePoint เกินพวกเขาทั้งสอง.

เช่นอะไร, ไม่เหมาะสม, แต่ก็ดีคนจะ.

สำหรับความรักของ [กรอกข้อมูลลงในส่วนใหญ่ของคุณรักถูกคน/สูงกว่า], ไม่เปลี่ยนแปลง ' เรื่อง’ คอลัมน์ของไซต์.

ในการ ฟอรั่ม SharePoint, บางครั้งมีคนถามเกี่ยวกับการ "เปลี่ยนป้ายชื่อของชื่อเรื่อง" หรือเรื่อง "เอาชื่อเรื่องจากรายการ".

บรรทัดด้านล่าง: อย่าทำอย่างนั้น!

Sadly, อินเทอร์เฟซสำหรับผู้ใช้อนุญาตให้มีการเปลี่ยนแปลงทางเดียวของป้ายชื่อคอลัมน์ที่แสดง:

รูปภาพ

ชื่อเรื่องคือ คอลัมน์เกี่ยวข้องกับสินค้า"" ชนิดเนื้อหา. มากมาย, มากมาย, หลายของ CT ใช้คอลัมน์นี้ และถ้าคุณเปลี่ยนที่นี่, มัน ripples ออกทุก. มีโอกาสดีที่คุณไม่ได้ตั้งใจให้เกิดขึ้น. คุณคงเคยคิดกับตัวเอง, "ฉันมีรายการการค้นหาแบบกำหนดเอง และ ' ชื่อ’ เพียงไม่เหมาะสมเป็นชื่อคอลัมน์, ดังนั้นฉันจะเปลี่ยนเป็น ' รหัสสถานะ’ และเพิ่มคอลัมน์คำอธิบาย" แต่ ถ้าคุณทำตามโดยคิดว่าเปลี่ยนชื่อ ' ชื่อ’ 'รหัสสถานะ', ทุกรายชื่อ (รวมถึงไลบรารีเอกสาร) เปลี่ยนแปลงรหัสสถานะ"" และคุณอาจ ไม่ได้ตั้งใจให้เกิดขึ้น.

ปัญหาแท้จริงคือ เป็นการเปลี่ยนแปลงทางเดียว. "รู้ UI" ที่ชื่อ"" เป็นคำที่สงวนไว้. ดังนั้น, ถ้าคุณลองเปลี่ยน "รหัสสถานะ" กลับไปยัง "ชื่อ", มันจะทำให้คุณ และตอนนี้ คุณได้ ทาสีตัวเองเป็นมุม using paint that never dries 🙂

ดังนั้น เกิดอะไรขึ้นถ้าคุณเปลี่ยนแปลงนั้น? ผมยังไม่เห็นคำตอบที่เราต้องการ, ซึ่งเป็นวิธีการ ง่ายที่จะเปลี่ยนป้ายชื่อกลับไปยัง 'ชื่อเรื่อง'. เดี๋ยวนี้, คำแนะนำที่ดีที่สุดคือการ เปลี่ยนบางสิ่งบางอย่างเช่น "ชื่อเอกสาร/รายการ". นั่นคือป้ายทั่วไปพอที่อาจไม่ jarring เกินไปสำหรับผู้ใช้ของคุณ.

มีแนวคิดอื่น ๆ บางประการที่อยู่ในรายการของฉันสิ่งที่ต้องการวิจัย:

  • ติดต่อ Microsoft.
  • ทำงานกับรูปแบบวัตถุ, บางทีร่วมกับคุณลักษณะ.
  • คิดออกแบบแผนฐานข้อมูล และปรับปรุง SQL. (คุณควรติดต่อ Microsoft ก่อนที่จะทำเช่นนี้แม้ว่า; มันอาจจะยกเลิกสัญญาสนับสนุน).

ถ้าใครรู้วิธีการแก้ปัญหานี้, โปรดแสดงความคิดเห็น.

ปรับปรุงบ่าย, 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).

ผมต้องการชี้ให้เห็นการ newcomers เพื่อ BDC ที่สามารถห่อคำสั่งภายในแท็ก CDATA ในตน "ธรรมชาติ" แบบฟอร์มการ. ดังนั้น, สิ่งก่อสร้างนี้กระอักกระอ่วน:

<คุณสมบัติ ชื่อ="RdbCommandText" ชนิด="System.String">
เลือก dboMCRS_SETTLEMENT.id, dboMCRS_SETTLEMENT.settlement จาก dboMCRS_SETTLEMENT
ซึ่ง (รหัส &gt;= @ MinId) และ (รหัส &lt;= @MaxId)
</คุณสมบัติ>

สามารถจะดีกว่าแสดงลักษณะนี้:

<คุณสมบัติ ชื่อ="RdbCommandText" ชนิด="System.String">
<![CDATA[
เลือก dboMCRS_SETTLEMENT.id, dboMCRS_SETTLEMENT.settlement จาก dboMCRS_SETTLEMENT
ซึ่ง (รหัส >= @ MinId) และ (รหัส <= @MaxId)
]]>
</คุณสมบัติ>

</สิ้นสุด>

รองพื้น BDC

วิดีโอแนะนำการ BDC

ตัวอย่างการทำงาน: ADF BDC ที่เชื่อมต่อกับฐานข้อมูล SQL ด้วยการฝังตัวการผู้ใช้ id และรหัสผ่าน

ฉันต้องสายค่ามอไปยังฐานข้อมูล SQL ผ่าน BDC. สำหรับการ ทดสอบ/POC, ผมต้องการฝังรหัส SQL บัญชีผู้ใช้และรหัสผ่านในแบบ ADF. เริ่มต้นด้วย แม่แบบนี้ (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), สร้าง ADF ที่เชื่อมต่อกับอินสแตนซ์ของเซิร์ฟเวอร์ SQL การเฉพาะการล็อก ด้วยรหัสเฉพาะผู้ใช้และรหัสผ่าน และแสดงในส่วนย่อยของโค้ดนี้:

  <LobSystemInstances>
    <LobSystemInstance ชื่อ="ClaimsInstance">
      <คุณสมบัติ>
        <คุณสมบัติ ชื่อ="AuthenticationMode" ชนิด="System.String">ทรู</คุณสมบัติ>
        <คุณสมบัติ ชื่อ="DatabaseAccessProvider" ชนิด="System.String">สแตนซ์</คุณสมบัติ>
        <คุณสมบัติ ชื่อ="แหล่งข้อมูล RdbConnection" ชนิด="System.String">อินสแตนซ์ของ serveractual จริง</คุณสมบัติ>
        <คุณสมบัติ ชื่อ="แค็ตตาล็อกเริ่มต้น RdbConnection" ชนิด="System.String">แค็ตตาล็อกเริ่มต้นจริง</คุณสมบัติ>
        <คุณสมบัติ ชื่อ="RdbConnection ความปลอดภัยแบบรวม" ชนิด="System.String">SSPI</คุณสมบัติ>
        <คุณสมบัติ ชื่อ="RdbConnection ร่วมกัน" ชนิด="System.String">เท็จ</คุณสมบัติ>

        <!-- เหล่านี้เป็นค่าสำคัญ: -->
        <คุณสมบัติ ชื่อ="ผู้ RdbConnection" ชนิด="System.String">การctual ID ผู้ใช้</คุณสมบัติ>
        <คุณสมบัติ ชื่อ="รหัสผ่าน RdbConnection" ชนิด="System.String">รหัสผ่านจริง</คุณสมบัติ>
        <คุณสมบัติ ชื่อ="RdbConnection Trusted_Connection" ชนิด="System.String">เท็จ</คุณสมบัติ>

      </คุณสมบัติ>
    </LobSystemInstance>
  </LobSystemInstances>

จึงไม่ควร, แต่เป็นประโยชน์สำหรับการกำหนดค่าอย่างง่าย และรวดเร็วสำหรับการทดสอบ. นี้ไม่น่าแปลกใจที่ยากที่จะคิดออก. ไม่เคยพบตัวอย่างทำงาน ด้วยการค้นหาคำสำคัญ:

  • adf ฝัง userid และรหัสผ่าน
  • ฝังรหัสผู้ใช้และรหัสผ่านใน adf
  • ฝังรหัสผู้ใช้และรหัสผ่านใน adf bdc
  • รองพื้น bdc sharepoint
  • sharepoint ฝังรหัสผู้ใช้และรหัสผ่านใน adf

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.