คลังเก็บรายเดือน: พฤศจิกายน 2007

มอสบอกให้ฉันของฉันชื่อคอลัมน์เป็น Reserved หรือใช้ใน … แต่ไม่ใช่

โปรแกรมปรับปรุง 12/04/07: ดู นี้ Microsoft KB (http://support.microsoft.com/kb/923589) สำหรับข้อมูลที่เกี่ยวข้อง.

จริง, มันจะออกเป็น, แต่ tricksy มอสได้ทำให้มันยาก.

ลูกค้าของฉันทำงานพัฒนาบนเขามอไซต์ผ่านวันหยุด. เป็นบิตของ jumble เป็นสิ่งที่เขาจะได้, แต่นี่คือผลลัพธ์สุดท้าย:

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

ไม่ได้บาง วิจัย, และบางรหัส, waxed ปรัชญา และสุดท้าย พบว่า คอลัมน์ชื่อปริมาณไม่ได้, อันที่จริง, มีอยู่. ใน "_Hidden" กลุ่ม. ดังนั้น, เราไม่สามารถหาทางอินเทอร์เฟสผู้ใช้ SharePoint.

วิธีไม่ได้มันจะมี? ฉันไม่รู้, แต่มีทฤษฎี (หรือ เป็นภรรยาของฉันจะเรียกว่า, "blah blah blah"). บางแห่งตามแนว, การ แม่เยี่ยมสี่สิบ เพิ่ม และคงเปิดใช้งานในเว็บไซต์ในไซต์คอลเลกชัน. มันถูกปิดใช้งานแล้ว (หรือเอาเว็บไซต์). คอลัมน์ไซต์, อย่างไรก็ตาม, ยังคงอยู่แต่ในการ "_Hidden" กลุ่ม. ถ้าคนที่รู้ดีกว่า, กรุณาแจ้งให้เราทราบผ่าน อีเมล หรือลงรายการบัญชีข้อคิดเห็น.

SharePoint บอกความจริง. จึงไม่น่าชี้ให้เห็นว่า ข้อความที่ไม่เป็นประโยชน์ที่อาจ. มันจะดีจะดูที่ส้อมข้อความลงในข้อความที่แตกต่างกันสองในอนาคต: 1) บอกว่า จองชื่อคอลัมน์ หรือไม่. 2) ถ้าไม่จองไว้, แสดงไซต์, หรือน้อยได้, ที่แล้วได้ใช้ชื่อคอลัมน์.

</สิ้นสุด>

นำเสนอข้อมูลการออมผ่านรายการแบบกำหนดเอง (หรือ, ยังอื่นออมข้อมูล Displayor [เช่น YACC, แต่แตกต่างกัน])

วันนี้, ผมใช้กำมือของชั่วโมงการเกิดรากอยู่เบื้องหลังข้อความ "ชื่อคอลัมน์ที่คุณป้อนถูกใช้ หรือสงวนไว้. เลือกชื่ออื่น"

สามารถสร้างคอลัมน์ในคำถาม, ลบ และสร้างอีกครั้งในสภาพแวดล้อมอื่น, ดังนั้นฉันรู้มันไม่ได้ชื่อที่สงวน. อย่างไรก็ตาม, ก็ไม่พบคอลัมน์ใดก็ได้ผ่านอินเทอร์เฟสผู้ใช้ SharePoint มาตรฐานใด ๆ เว็บไซต์ในไซต์คอลเลกชัน.

ลงไป ฟอรั่ม MSDN ที่นี่ และ indomitable แอนดรูวูดวาร์ด ฉันชี้ในทิศทางของข้อมูลแบบจำลองวัตถุต้นแบบ.

ผมก็ปิดไป codeplex หาเครื่องมือบางอย่างที่จะช่วยให้ฉันเพื่อนเป็นระเบียนออม และช่วยค้นหาปัญหา.

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

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

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

SharePoint Designer ลำดับงานดำเนินการเอง — สังเกตเกี่ยวกับ <ตัวออกแบบแบบ FieldBind ชนิด =”StringBuilder” … />

เพียงการสังเกตการณ์อย่างรวดเร็วว่า มีความแตกต่างที่สำคัญระหว่างข้อกำหนดเหล่านี้สอง:

<ฟิลด์ FieldBind = "InParam1" DesignerType = "StringBuilder" รหัส = "2" ข้อความ = "ป้อนพารามิเตอร์ #1" />

เมื่อเทียบกับ:

<ฟิลด์ FieldBind = "InParam1" รหัส = "2" ข้อความ = "ป้อนพารามิเตอร์ #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 ช่วยให้คุณสามารถสร้างสตริงที่ (เห็นได้ชัด) โดยผสมกันสายอักขระตัวอักษรและลำดับข้อมูล (ผ่านการ "เพิ่มการค้นหา" ปุ่มซ้ายล่าง). เมื่อคุณใช้ปุ่มการค้นหาเพิ่ม, แทรกโทเค็นในแบบฟอร์ม"[%โทเค็น%]". เมื่อ SharePoint ที่เรียกใช้การกระทำแบบกำหนดเองของคุณ, (C# รหัสในกรณีของฉัน), SharePoint ผ่านโทเค็นการ, ไม่ค่าโทเค็นการ. ถ้าคุณใช้ชนิดการออกแบบเริ่มต้น (ชนิดที่สอง), SharePoint ขยายโทเค็น และผ่านค่าจริงของโทเค็นการการกระทำของคุณ.

StringBuilder =ด้อย, เริ่มต้นออกแบบชนิด =ดี.

แน่นอน, ก็ไม่จริงไง. เพียงได้ไม่ลอง และส่งผ่านพารามิเตอร์การกระทำของคุณเองเมื่อแบบพิมพ์ = StringBuilder. ใช้ชนิดการออกแบบเริ่มต้นและโซ่ StringBuilder จะขึ้นหน้าถ้าคุณต้องการสร้างสตริงการซับซ้อนในเวิร์กโฟลว์ของคุณ (ซึ่งบังเอิญเป็นสิ่งที่หนึ่งไม่สร้างเรื่องแบบไดนามิกสำหรับการดำเนินการอีเมล์, แต่ที่เรื่องรายการบล็อกอื่น, ฮาร์ฮาร์).

<สิ้นสุด />

เปิดใช้งานลำดับงานก่อนวัยอันควร — แก้ไขปัญหาไม่ใช่แพทย์

โปรแกรมปรับปรุง: ดูสนทนานี้ MSDN, โดยเฉพาะรายการสุดท้าย: http://forums.microsoft.com/MSDN/showpost.aspx?postid=2631057&siteid=1. อธิบายเงื่อนไขที่อาจสั้นวงจรเลย. ในระยะสั้น, มันอาจจะเป็นแค่ทำอย่างน้อยหนึ่งฟิลด์บังคับ.

มีไลบรารีเอกสารที่สนับสนุนเนื้อหาชนิด 8.

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

ฉันกำหนดค่าลำดับไฟ เมื่อสร้างสินค้าใหม่ และ เมื่อมีการปรับเปลี่ยนสินค้า. ความคิดคือเมื่ออัพโหลดเอกสารการประกันภัย, เราคำนวณวันเตือน"" ตามวันหมดอายุ. คู่ของมุมมองการทำงานกับรายการ KPI เน้นเงื่อนไขเหล่านี้เมื่อผู้ใช้กดหน้าของพวกเขา.

กลยุทธ์นี้ไม่ทำงานเมื่อฉันอัปโหลดเอกสาร.

Upload เอกสาร และฉันกำลังแสดงหน้าจอรายการข้อมูล meta. ณ จุดนี้, ฉันอยู่ในปัญหา. SharePoint ได้แล้ว, ก่อนกำหนดจากมุมมองของฉัน, ยิงลำดับ. ยังไม่มีโอกาสที่จะเลือกชนิดเนื้อหาถูกต้อง หรือกำหนดวันครบกำหนด. ในเวลาเดียวกัน, กระแสไฟเมื่อฉันกดปุ่มส่งในขณะนี้. มีตรรกะบางอย่างในตัวที่ "เชื่อ" ที่แรกถือเป็นส่วนหนึ่งของการ "สร้าง" เหตุการณ์. ดังนั้น … ลำดับงานของฉันได้ยิง และเมื่อการดำเนินการ, มันถูกส่งผ่านค่าข้อมูลเมตา.

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

ฉันไม่ชอบ "วิเศษล่าช้า" งานสถาน. เกิดอะไรขึ้นถ้าผู้ใช้อัพโหลดเอกสาร และกริ่งโทรศัพท์ และการสนทนากันโดย outlasts หยุดชั่วคราว? ฉันสามารถทำให้หยุดชั่วคราวอีกต่อไป, แต่ยังไม่ชอบมัน.

ผมเขียนเกี่ยวกับเรื่องนี้ในฟอรั่ม MSDN ที่นี่: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2430725&SiteID=1

แนวทางสำหรับการเรียนขั้นพื้นฐานของ 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: , , ,