2009-01-13 32 views
7

Giống như nhiều người dùng SharePoint khác, tôi đã phải tạo định nghĩa danh sách tùy chỉnh. Sau nhiều rắc rối, tôi đã tạo ra một cái (tôi nghĩ, để tôi vượt qua tất cả các lỗi trước), nhưng có một lược đồ "cơ bản" ở đó tôi có thể bắt đầu, hoặc một trình soạn thảo có mục đích để tạo ra thế hệ Schema.xml?Trong SharePoint, cách dễ nhất để tạo tệp danh sách tùy chỉnh 'schema.xml' là gì?

Trả lời

4

Để tạo định nghĩa danh sách tùy chỉnh, tôi luôn sử dụng định nghĩa danh sách được tích hợp làm mẫu.
Tạo tính năng mới, sau đó sao chép tệp schema.xml (có thể một số tệp khác nếu có) từ tính năng hiện có và sửa đổi tệp schema.xml trực tiếp với một số trình soạn thảo văn bản. Tôi không thử bất kỳ trình chỉnh sửa tùy chỉnh nào cho công việc đó và luôn hoàn thành công việc bằng cách sao chép và dán các giá trị thuộc tính.

xây dựng trong định nghĩa danh sách được đặt tại 12 tổ ong như các tính năng:

  • Tuỳ sách thành viên - Đặc điểm/CustomList/CustList/schema.xml;
  • Thư viện tài liệu - Tính năng/DocumentLibrary/DocLib/schema.xml;
  • Lịch - Tính năng/Sự kiệnList/Events/schema.xml;
  • Sử dụng tìm kiếm để tìm những người khác.
3

Bạn có thể sử dụng SharePoint manager để chọn danh sách bạn muốn lược đồ và sử dụng danh sách đó làm mẫu.

Bất kỳ tạo lược đồ nào cũng sẽ dựa vào ngữ cảnh như GUID cho bất kỳ trường tùy chỉnh nào sẽ cụ thể cho tuyển tập site SharePoint trừ khi chúng được cài đặt như một phần của tính năng được chỉ định trước đó (dựa trên lược đồ XML đã được tạo).

Trình quản lý SharePoint là một công cụ tốt cho việc này, không phải vì nó cụ thể cho vấn đề này, nhưng vì nó là rất cách hữu ích để nhận tất cả các loại thông tin (như lược đồ) trong một cá thể SharePoint.

4

Đề xuất của tôi và những gì sẽ mang bạn đến gần nhất với phiên bản cuối cùng, là sử dụng giao diện web SharePoint, thiết lập danh sách của bạn theo ý muốn, bao gồm lượt xem, cột tùy chỉnh, v.v. một mẫu.

Tệp .stp bạn nhận về cơ bản chỉ là tệp .cab có tên hài hước. Đổi tên thành cab và trích xuất tệp kê khai, tệp này sẽ bao gồm tệp schema.xml gần như đã sẵn sàng để bạn sử dụng.

Điều bạn cần thay đổi là đường dẫn hoặc thiết lập các dạng danh sách. Bạn sẽ tìm thấy chúng ở dưới cùng của tệp manifest.xml. Các biểu mẫu này, nếu bạn sử dụng danh sách SharePoint mặc định, có thể được đặt thành SetupPath = "pages/form.aspx". Dưới đây là một ví dụ từ các yếu tố hình thức danh sách tùy chỉnh:

<Form Type="DisplayForm" Url="DispForm.aspx" 
SetupPath="pages\form.aspx" WebPartZoneID="Main" /> 
    <Form Type="EditForm" Url="EditForm.aspx" 
SetupPath="pages\form.aspx" WebPartZoneID="Main" /> 
    <Form Type="NewForm" Url="NewForm.aspx" 
SetupPath="pages\form.aspx" WebPartZoneID="Main" /> 

Bạn cũng cần phải cập nhật Xem đường cho mỗi view, mà nên SetupPath = "trang/viewpage.aspx" nếu sử dụng các hình thức mặc định trong ban đầu của bạn trang web.

Lưu ý rằng bạn cũng cần phải sửa đổi các thuộc tính khác, nhưng nếu bạn đảm bảo tuân thủ lược đồ wss.xsd và danh sách tùy chỉnh schema.xml của bạn xác nhận hợp lệ cho lược đồ wss.xsd, bạn nên ổn.

.b

3

Với ứng dụng Windows SharePoint Services 3.0 Tools: Visual Studio 2008 Extensions, Version 1.2 có ứng dụng được gọi là "Trình tạo giải pháp SharePoint 2008".Ứng dụng này có một số hạn chế (điều tồi tệ nhất là IMO that lookup columns disappear), nhưng ứng dụng này tạo các tệp bạn cần để tạo tức là một tính năng ra khỏi Danh sách SharePoint hiện có. Điều này bao gồm schema.xml.

3

Tôi luôn sử dụng các tiện ích mở rộng Gary Lapointes STSADM để trích xuất loại nội dung đó. Tức là, tôi tạo nó trước tiên bằng cách sử dụng GUI và sau đó trích xuất các danh sách, kiểu nội dung, cột trang, vv bằng cách sử dụng phương thức thích hợp.

Kiểm tra danh sách tiện ích mở rộng của Gary trong STSADM/PowerShell Commands.

0

Thêm vào câu trả lời của EG, nếu bạn chỉ muốn thay đổi các trường được đính kèm vào danh sách hiện có (nhưng để lại quan điểm, vv về cơ bản giống nhau), bạn sẽ phải thay đổi mọi thứ ở hai nơi: List/MetaData/Fields, và List/MetaData/Views/View/ViewFields.

Phần Trường tương đối thẳng về phía trước, giả sử bạn theo dõi the documentation.

Để các cột hiển thị trong một chế độ xem nhất định, bạn sẽ phải chỉnh sửa phần Chế độ xem cho một chế độ xem nhất định. Ví dụ, nếu bạn đã cột được đặt tên Tiêu đề, Tác giả, và xuất bản mà bạn muốn hiển thị trong giao diện, tìm phần ViewFields của quan điểm đó và chỉnh sửa nó như sau:

<ViewFields> 
    <FieldRef Name="Title" /> 
    <FieldRef Name="Author" /> 
    <FieldRef Name="Publisher" /> 
</ViewFields> 

Những lĩnh vực (và chỉ những lĩnh vực) sau đó sẽ hiển thị trong chế độ xem đó.

1

Vấn đề lớn với tất cả các tệp schema.xml mà bạn thường sao chép là 90% mã nằm trong các phần tử chế độ xem khác nhau. Có một giải pháp cực kỳ đơn giản cho việc này - sử dụng một trong các ViewStyles mặc định.

Đây là lược đồ tối giản có thể đọc được, dễ đọc để bắt đầu. Đọc http://mo.notono.us/2009/02/moss-dreaded-schemaxml.html để biết chi tiết. Trừ khi bạn thực sự, thực sự cần phải tinh chỉnh html rendered, đừng bận tâm rối tung với quan điểm CAML:

<?xml version="1.0" encoding="utf-8"?> 
<List xmlns:ows="Microsoft SharePoint" Id="{AB426CDE-98F2-432A-B296-880C7931DEF3}" 
    Title="Setting" Url="Lists/Setting" BaseType="0" 
    FolderCreation="FALSE" DisableAttachments="TRUE" VersioningEnabled="FALSE" 
    Direction="$Resources:Direction;" 
    xmlns="http://schemas.microsoft.com/sharepoint/"> 
     <MetaData> 
       <Fields> 
        <Field Type="Text" Name="Title" DisplayName="Name" Required="TRUE" /> 
        <Field Type="Text" Name="Value" DisplayName="Value" Required="TRUE" /> 
       </Fields> 
       <Views> 
        <View BaseViewID="0" Type="HTML" WebPartZoneID="Main" DisplayName="All Items" DefaultView="TRUE" 
         MobileView="True" MobileDefaultView="False" SetupPath="pages\viewpage.aspx" 
         ImageUrl="/_layouts/images/issues.png" Url="AllItems.aspx"> 
          <ViewStyle ID="17"/> 
          <RowLimit Paged="TRUE">100</RowLimit> 
          <Toolbar Type="Standard" /> 
          <ViewFields> 
            <FieldRef Name="Edit" /> 
            <FieldRef Name="Title"/> 
            <FieldRef Name="Value"/> 
          </ViewFields> 
          <Query> 
            <OrderBy> 
             <FieldRef Name="Title"/> 
            </OrderBy> 
          </Query> 
        </View> 
       </Views> 
       <Forms> 
        <Form Type="DisplayForm" Url="DispForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" /> 
        <Form Type="EditForm" Url="EditForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" /> 
        <Form Type="NewForm" Url="NewForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" /> 
       </Forms> 
       <DefaultDescription>Settings used in the application.</DefaultDescription> 
     </MetaData> 
</List> 
1

Myself và Rich Finn đã viết một công cụ gọi là SPSource mà đảo ngược kỹ sư Lists vào danh sách Templates, loại nội dung và cột trang web. Vui lòng kiểm tra xem tại số http://spsource.codeplex.com/ có hướng dẫn sử dụng chi tiết và webcast để chỉ cho bạn cách sử dụng nó.

0

Tạo danh sách mà bạn muốn phát triển trên môi trường phát triển địa phương bằng cách sử dụng các tùy chọn trình duyệt. Lưu trang web dưới dạng mẫu. Tải xuống hệ thống tệp cục bộ.

Bây giờ, tạo một dự án Visual Studio mới với mẫu, nhập từ gói giải pháp. Tìm gói giải pháp được lưu trữ trên hệ thống tệp. Bây giờ khi bạn nhìn thấy giải pháp, bạn sẽ tìm thấy danh sách do bạn tạo ra. Tệp schema.XML sẽ được đặt trong định nghĩa Danh sách. Sao chép nội dung Loại, Trường và Chế độ xem và dán vào tệp schema.xml của bạn.

Các vấn đề liên quan