Nhanh chóng và đơn giản: Cấp quyền truy cập một trang Web bằng cách sử dụng mô hình đối tượng SharePoint trong C#

Tôi đã cố gắng tìm kiếm một chút đoạn mã đó sẽ hiển thị như thế nào tôi có thể tạo ra một SPWeb mới trong một bộ sưu tập trang web. Tôi đã không thấy nó như là một cách nhanh chóng hoặc dễ dàng như tôi mong đợi vì vậy tôi nghĩ rằng tôi sẽ slap với nhau một chút mục về chủ đề.

Mã này tạo ra một trang web Wiki mới:

 SPSite siteCollection;

    siteCollection = mới SPSite("http://conchang-o9l8qi");

    SPWeb w = siteCollection.OpenWeb();

    w.Webs.Add("xyzzy", "xyzzy tiêu đề",
        "xyzzy mô tả", 1033, SPWebTemplate.WebTemplateWIKI, sai, sai);

Tìm kiếm ban đầu của tôi không thành công vì tôi đã tìm kiếm cụm từ như "cung cấp một trang web bằng cách sử dụng mô hình đối tượng sharepoint" và như thế.

Nếu bạn Tìm kiếm cho "Webs.Add()", bạn sẽ tìm thấy một số rất hữu ích blog mới, Bài viết MSDN và tài liệu SDK mà đi vào chiều sâu về chủ đề này. Tôi khuyên bạn nên chắc chắn Trang web này.

</kết thúc>

Đăng ký vào blog của tôi.

Technorati Tags:

Tích hợp các quy trình công việc SharePoint Designer với dịch vụ Web

Tôi đã chơi đùa với các hành động tùy chỉnh cho SharePoint Designer một thời gian (xem ở đây Đối với một số chi tiết công cụ, Nếu mà bạn quan tâm).

Trong dự án hiện tại của tôi, chúng ta cần phải làm một số khá nặng nâng và chúng tôi muốn sử dụng SPD kỹ quy trình làm việc để quản lý quá trình kinh doanh kết hợp.

Long câu chuyện ngắn, Điều này là hoàn toàn có thể. Tôi mở rộng dự án Codeplex của tôi để gọi một dịch vụ của helper"" và bây giờ chúng ta có thể gọi Dịch vụ web trực tiếp từ một SPD quy trình làm việc.

Đây là chữ ký:

 công cộng chuỗi Dispatcher(
        GUID WebID, // Thông qua môi trường thời gian chạy
        GUID SiteID, // Thông qua môi trường thời gian chạy
        chuỗi ListID, // Thông qua RTE (không biết lý do tại sao điều này là một chuỗi, không một GUID)
        int ListItemID, // Thông qua RTE.
        chuỗi XmlMessage) // Thông qua người sử dụng như tuyên bố trong SPD.

Điều này thúc đẩy thực tế là chúng tôi có thể nhận được thông tin công việc quan trọng, giống như các trang web, danh sách ID, vv. Điều này là tốt tài liệu ở một số nơi cho những người bạn quan tâm trong việc tạo ra hành động tùy chỉnh riêng của bạn. Ý tưởng là để trích xuất các chuỗi XML được cung cấp bởi người sử dụng để gửi một thủ tục thích hợp. Lý thú!

Đáng buồn, Điều này rõ ràng là một vé một chiều xuống để "Loosey Goosey" chống mẫu đất, but it’s better than hitting a brick wall 🙂

Nó là một mô hình chống nếu bạn làm điều đó ngay cả khi bạn biết nó là một mô hình chống?

Tôi hy vọng để bọc này bên trong Codeplex trong tương lai gần. Nếu bạn đang quan tâm đến việc tôi làm như vậy, cung cấp cho tôi poke (thư điện tử hoặc để lại một bình luận) and I’ll be that more enthusiastic about doing it 🙂

</kết thúc>

Đăng ký vào blog của tôi.

Chủ Nhật Funny: “Tôi tự hỏi nếu mật khẩu của bạn là …”

Tôi mới mua bữa trưa cho anh trai của tôi (như thường lệ) và chúng tôi đã kết thúc nói chuyện về những điều vui mà chúng tôi đã làm tại trường cao đẳng tương ứng của chúng tôi. Tại alma mater của tôi, Trường cao đẳng Lafayette, hỗ trợ học tập bộ phận CNTT đã có một cách rất bao gồm về nó. Chúng tôi đã được rất nhiều dây và tôi đã lợi dụng đó vào các thời điểm.

Hai kỷ niệm yêu thích của tôi liên quan đến người bạn tốt của tôi, Gabe. Ông đã làm sai lầm khủng khiếp nói với người của ông năm freshman "tôi là một sinh viên năm nhất, nhưng tôi có thứ hai đứng" do các lớp học nâng cao vị trí khác nhau, ông đã thực hiện, vv. Nhiều người trong chúng tương tự như vậy đã được nằm nhưng chúng tôi không nói về nó rất nhiều. Năm cao cấp của mình, Khi chúng tôi đã giới thiệu Depp cho những người, chúng tôi sẽ nói "này là Gabe. Ông là một cấp cao, nhưng hắn thứ hai đứng ".

Các trường đại học có một số máy trạm Sun/máy chủ đang chạy X-cửa sổ. Họ đã có màn hình khổng lồ và các kỹ sư sử dụng chúng cho CAD và các công cụ kỹ sư nhàm chán. Chúng tôi CS người sử dụng chúng để học lập trình và, Tất nhiên, để chơi trò chơi.

Chúng tôi không giống như các kỹ sư máy tính bất lực đến nhiều do đó, một trong những điều yêu thích của chúng tôi để làm sẽ là để telnet đến hộp họ trên và chạy X-mắt trên chúng. Điều này sẽ bật lên một cặp mắt sau chuột xung quanh trên màn hình. Bạn có thể bật lên nhiều hơn và có nghĩa là một tá hoặc nhiều hơn các ứng dụng X-mắt chạy. Try not to laugh out loud when a hapless engineer is trying to close X-eye after X-eye and muttering under his breath about it 🙂

Chúng tôi cũng chơi X-trek trên những hộp. Để làm điều đó, bạn phải tải về nguồn, nhận được phụ thuộc khác nhau bất cứ nơi nào bạn có thể tìm thấy chúng và xây dựng nó. Tôi không phải là một lập trình viên C tinh vi, nhưng tôi có thể đọc tập tin tiêu đề. Tôi đã tìm kiếm thông qua đây và tìm thấy các chỉ thị như "#DEFINE MAX_TORPEDO_DISTANCE 10". Tôi chơi xung quanh với rằng tăng phạm vi và quyền lực cho các giai đoạn và ngư lôi, tái xây dựng nó và sau đó bị phá hủy Gabe thời gian tiếp theo chúng tôi chơi.

Gabe cũng là một fan hâm mộ lớn của một chương trình truyền hình được gọi là Blake của 7. Tôi chưa bao giờ thấy nó, nhưng đó không ngăn cản tôi nhấn mạnh rằng Dr. Hiển thị cấp trên là ai. The arguments would get heated at times 🙂

Một ngày, nó xảy ra với tôi rằng tôi có lẽ có thể đoán mật khẩu của mình UNIX. Tôi ngồi xuống bên cạnh anh ta một ngày và công bố trong một giai điệu lớn, "Tôi sẽ đoán mật khẩu của bạn ngay bây giờ, Gabe." "có, quyền" câu trả lời của ông. Tôi sau đó đăng nhập, nhập id người dùng của mình, Quay phải đối mặt với anh ta, gõ và nói thành tiếng, "Tôi tự hỏi nếu nó là B-L-A-K-E-7" ? Touch typing đã không bao giờ trả hết handsomely như nó đã làm ngày hôm đó.

Tuần tới (hoặc sớm): Thêm máy tính phòng antics College.

Bạn có bất kỳ để chia sẻ? Để lại một bình luận hoặc email tôi và tôi sẽ xuất bản chúng ở đây.

</kết thúc>

Đăng ký vào blog của tôi.

Technorati Tags:

Thông báo công khai tiểu: Thiết đặt bảo mật sống Windows và Contacting Space chủ sở hữu

Tôi nhận được một số thư từ cá nhân thông qua built-in "gửi một tin nhắn" chức năng Microsoft cung cấp với không gian sống (mà cũng tổ chức các blog của tôi) mỗi tháng.

Khoảng một phần ba thời gian, những người dùng có bảo đảm tài khoản trực tiếp tại của họ như vậy mà tôi không thể trả lời. Đây là một số loại tính năng chống thư rác, tôi giả sử.

</kết thúc>

Giải thích đơn giản: “Giá trị không nằm trong phạm vi dự kiến.”

CẬP NHẬT: Một áp phích chưa xác định người để lại một bình luận lớn về nội bộ tên. Hãy chắc chắn để đọc nó.

Khi làm việc với các sự kiện thu và mã khác mà tài liệu tham khảo bản ghi danh sách SharePoint thông qua các mô hình đối tượng, Tôi thường làm cho những sai lầm mà tạo ra lỗi này tại thời gian chạy:

Lỗi nạp và chạy sự kiện nhận Conchango.xyzzyEventReceiver trong xyzzy, Phiên bản = 1.0.0.0, Văn hóa = trung tính, PublicKeyToken = 0dc50a750396c3ac. Bổ sung thông tin là dưới đây. : Giá trị không nằm trong phạm vi dự kiến.

Tôi nghĩ rằng đây là một lỗi khá chung chung có khả năng gây ra nhiều cách khác nhau. Tuy nhiên, một lời giải thích đơn giản là tôi đang tìm một lĩnh vực không chính xác. Nếu tên của trường là "Ngày hết hạn", Tôi phải tham chiếu nó như thế này trong một bộ tiếp nhận sự kiện:

bất động sản.ListItem["Ngày"]

Khi tôi sai hoặc sử dụng các trường hợp sai khi tham khảo các lĩnh vực, SharePoint tạo ra ở trên đề cập đến thời gian chạy lỗi. Ví dụ:, Điều này là sai:

bất động sản.ListItem["ngày"]

</kết thúc>

Đăng ký vào blog của tôi.

Technorati Tags:

Người dùng cuối Mẹo nhanh: Quan điểm phân loại trong một thư viện tài liệu, Danh sách, vv.

Chúng tôi có thể, nên và tạo ra nhiều lần xem trong danh sách SharePoint (thư viện tài liệu, danh sách tùy chỉnh, vv). SharePoint luôn liệt kê các quan điểm có sẵn trong thứ tự chữ cái. Chúng tôi không thể thay đổi điều này bằng cách sử dụng ra khỏi chức năng hộp. Nếu nó có thể được thực hiện thông qua tuỳ biến (và tôi không chắc chắn nó có thể), nó là xa để kỹ thuật cho người dùng cuối điển hình của bạn.

Nếu bạn muốn kiểm soát thứ tự trong SharePoint mà danh sách có sẵn lượt xem, đơn giản chỉ cần thêm một số hoặc thư để xem tên, như trong:

1 – Theo loại tài liệu
2 – Tất cả tài liệu
3 – Ngày hết hạn

-hoặc-

A – Theo loại tài liệu
B – Tất cả tài liệu
C – Ngày hết hạn

Tôi cũng đã tạo ra quan điểm mà mục đích là nghiêm chỉnh để nuôi một KPI. Tôi đã sau này quy ước đặt tên:

Z_KPI_[mô tả]

Rằng nguyên nhân của tôi "KPI" Số lần xem xuất hiện ở dưới cùng của danh sách.

</kết thúc>

Đăng ký vào blog của tôi.

Chủ Nhật Funny: “Khi tôi đã là một cậu bé”

Là một phụ huynh, một nơi nào đó dọc theo đường tôi phát hiện các "khi tôi là một cậu bé" lừa.

Con trai tôi, có lẽ 4 hoặc 5 lúc đó, đã chơi một quả bóng và thích đặt ít nữ có chơi với bong bóng, ông popped nó. Ông đã rất buồn bã. Thế giới đã đi đến một kết thúc. Tôi nói với ông, "khi tôi là cậu bé, Tôi có một quả bóng và nó popped và cuối cùng, Tôi có một quả bóng mới." Nó có vẻ để giúp anh ta đối phó với sự mất mát của mình và đã dẫn đến một thú vị nói về những gì nó đã như khi tôi đã là một cậu bé.

Làm việc cũng như một kỹ thuật an ủi và tôi sử dụng nó một vài lần trong khoảng thời gian, tiếp theo. Tôi đã nhận được vào rắc rối một lần khi người nuôi súc vật quái vật của mình 3 sinh vật chết. Tôi nói chuyện về làm thế nào con chó của tôi, Hoàng tử, đã chết trong một tai nạn xe hơi. Thời gian này, phản ứng của ông là, "Bây giờ tôi cảm thấy xấu về hai điều!" Tôi shied xa bằng cách sử dụng các "khi tôi đã là một cậu bé" kỹ thuật cho sự an ủi sau đó.

Trước khi sự cố chó chết, Tuy nhiên, Tôi cũng đã bắt đầu sử dụng các kỹ thuật để thuyết phục ông ta làm việc vặt. "Khi tôi đã là một cậu bé, Tôi đã phải đi ra ngoài và nhận được trên báo chí", "làm sạch phòng của tôi", "nhận được mẹ của cô ly cà phê", vv.

Đây cũng là khá thành công trong một thời gian, nhưng ông bắt đầu ngày càng nổi loạn chống lại bạo ngược của tuổi thơ của tôi. Một sự kiện, đặc biệt, đánh dấu vào cuối. Tôi nói với ông để mang thùng rác từ lề đường đến nhà để xe. Ông lập luận và tôi trả lời, "Khi tôi đã là một cậu bé, Tôi đã phải đưa rác trở lại đến nhà để xe." Ông trả lời, "Oh có! Tốt khi bạn là một bé, đó là ngu NGỐC!".

</kết thúc>

Đăng ký vào blog của tôi.

Technorati Tags:

Xem và cột vào danh sách và thư viện tài liệu không thể được bảo đảm

CẬP NHẬT (02/29/08): Dự án này mới của codeplex dường như cung cấp một phương pháp để bảo vệ cột cá nhân: http://www.codeplex.com/SPListDisplaySetting. Nếu bạn có bất kỳ kinh nghiệm làm việc với nó, Xin vui lòng để lại một thảo luận.

Diễn đàn áp phích thường xuyên đặt câu hỏi như thế này: "Tôi có một cái nhìn quản lý và và một cái nhìn nhân viên của một danh sách. Làm thế nào tôi an toàn giao diện quản lý do đó nhân viên có thể không sử dụng nó?"

Họ cũng thường yêu cầu một câu hỏi liên quan: "Tôi muốn bảo đảm một cột cụ thể siêu dữ liệu để quản lý chỉ có thể chỉnh sửa cột trong khi những người khác có thể không thậm chí nhìn thấy nó."

Những câu trả lời áp dụng cho cả hai WSS 3.0 và MOSS:

  • SharePoint không cung cấp out-of-the-box hỗ trợ cho bảo vệ lượt xem.
  • SharePoint không cung cấp out-of-the-box hỗ trợ cho bảo mật cột.

Có một số kỹ thuật một có thể làm theo để đáp ứng các loại yêu cầu bảo mật. Dưới đây là những gì tôi có thể nghĩ về:

  • Sử dụng out-of-the-box mục cấp bảo mật. Số lần xem luôn luôn tôn vinh mục cấu hình cấp bảo mật. Sự kiện máy thu và/hoặc quy trình làm việc có thể tự động chuyển nhượng bảo mật.
  • Sử dụng quan điểm cá nhân cho "đặc quyền" Số lần xem. Đây là những dễ dàng, đủ để thiết lập. Tuy nhiên, do cá nhân"của họ" Thiên nhiên, những cần phải được cấu hình cho mỗi người dùng. Sử dụng cấu hình tiêu chuẩn bảo mật để ngăn chặn bất cứ ai khác từ việc tạo ra một cái nhìn cá nhân.
  • Sử dụng một phần web xem dữ liệu và thực hiện một số loại giải pháp trang trí AJAXy bảo mật.
  • Cuộn chức năng hiển thị danh sách riêng của bạn và kết hợp bảo mật trang trí ở mức cột.
  • Sửa đổi các hình thức nhập dữ liệu và sử dụng JavaScript kết hợp với mô hình bảo mật để thực hiện trang trí cột cấp bảo mật.
  • Sử dụng một hình thức InfoPath để nhập dữ liệu. Thực hiện trang trí cột cấp an ninh thông qua các cuộc gọi Dịch vụ web đến SharePoint và có điều kiện là lĩnh vực ẩn khi cần thiết.
  • Cuộn mình ASP.NET dữ liệu nhập hàm thực hiện cột cấp bảo mật trang trí.

Không có những lựa chọn là thực sự là tuyệt vời, nhưng có ít nhất một con đường để làm theo nếu bạn cần phải, ngay cả khi nó là khó khăn.

LƯU Ý: Nếu bạn đi xuống bất kỳ của các đường dẫn, Đừng quên về các "hành động-> Mở Windows Explorer". Bạn muốn chắc chắn rằng bạn kiểm tra với tính năng để đảm bảo rằng nó không làm việc như một cánh cửa của trở lại"" và đánh bại chương trình bảo mật của bạn.

Nếu bạn có ý tưởng cho khác hoặc kinh nghiệm với bảo vệ cột hoặc lượt xem, Vui lòng gửi email cho tôi hoặc để lại một bình luận và tôi sẽ cập nhật này gửi bài phù hợp.

</kết thúc>

Đăng ký vào blog của tôi.

Technorati Tags:

Mẹo nhanh: Các con số phiên bản của BDC ADF là bạn của bạn

Nếu bạn đang bàn tay-coding ADF tập tin và làm rất nhiều nhập/mã thử nghiệm chu kỳ, sử dụng phiên bản số để làm cho cuộc sống của bạn dễ dàng hơn.

Tôi ghét phải thừa nhận nó, nhưng cho đến khi tuần này, Tôi đã luôn luôn xóa ADF và tái nhập nó. Điều này sẽ phá vỡ cột dữ liệu kinh doanh của tôi và làm cho tôi tái dây họ. Tất cả không cần thiết.

Tập tin này theo "đó là rõ ràng khi bạn nhìn thấy nó".

Ví dụ:

<LobSystem
xmlns:XSi="http://www.w3.org/2001/XMLSchema-instance" XSi:schemaLocation="http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Loại="WebService" Phiên bản="1.2.0.0" Tên="xyzzyDocumentReview" xmlns="http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

Thay đổi phiên bản đó và re-import và cột dữ liệu doanh nghiệp hiện có sử dụng các phiên bản cập nhật tự động với không có cấu hình bổ sung cần thiết.

</kết thúc>

Đăng ký vào blog của tôi.

Technorati Tags:

Giải pháp: BDC Picker cho thấy chỉ có một cột của kết quả

Trong nỗ lực của tôi trên sẽ cung cấp một cột tra cứu hữu dụng hơn bằng cách sử dụng BDC, Tôi nhấn một bức tường với BDC picker. Nếu bạn không nhìn thấy nó, bộ chọn BDC là tương tự như một bảng chọn người ngoại trừ rằng nó làm việc với cột loại "dữ liệu doanh nghiệp".

Bạn truy cập vào bảng chọn bằng cách nhấp vào biểu tượng mở cửa sổ của một doanh nghiệp dữ liệu cột như hiển thị:

hình ảnh

Hình ảnh ở trên cho thấy một doanh nghiệp dữ liệu cột được gọi là "Thạc sĩ tài liệu Id". Cột được kết nối, Via BDC, Dịch vụ web. Dịch vụ web trả về hai cột thông tin: ID tài liệu và tiêu đề. Mục đích kinh doanh ở đây là cung cấp một "tài liệu này dựa trên" chức năng. Người dùng chọn một "tổng thể" tài liệu và khi họ tiết kiệm, một bộ tiếp nhận sự kiện sao trường dữ liệu meta từ bậc thầy tham chiếu.

Theo mặc định, bộ chọn BDC trông như thế này khi tôi tìm kiếm một tài liệu mà ID = "38":

clip_image002

Đó là hữu ích, nhưng không đủ tốt. Mọi người không nghĩ về ID, họ nghĩ rằng trong điều khoản của tiêu đề và/hoặc dữ liệu meta khác. Bộ chọn cho phép bạn tìm kiếm trên cột khác (Ví dụ như. Tiêu đề) nhưng sẽ không hiển thị trong danh sách thực tế của nó tìm thấy tiêu đề, chỉ là của họ DocId của như được hiển thị ở đây:

clip_image002[1]

(Ảnh chụp màn hình không phải là tuyệt vời như vậy bởi vì tôi đã không nhận một tìm kiếm mà trả về bất kỳ kết quả hợp lệ, nhưng bạn có thể thấy rằng nếu nó đã tìm thấy một số kết quả, nó sẽ chỉ có hiển thị của DocId, Không tên).

Tôi tìm kiếm cao và thấp cho câu trả lời cho điều này và không thành công. Đồng nghiệp của tôi, Các hòa thượng Jonathan Bradshaw, có phải đối mặt và giải quyết vấn đề này. Khi tôi đạt ra cho anh ta để được giúp đỡ, ông đã chỉ cho tôi đi đúng hướng.

Cấu hình bộ chọn để hiển thị nhiều cột thông qua "ShowInPicker" bất động sản tại ADF:

<Bất động sản Tên="ShowInPicker" Loại="System.Boolean">sự thật</Bất động sản>

Chi tiết hơn:

  <!-- Tiêu đề -->
  <TypeDescriptor TypeName="System.String" Tên="Tiêu đề" >
    <LocalizedDisplayNames>
      <LocalizedDisplayName LCID="1033">Tiêu đề</LocalizedDisplayName>
    </LocalizedDisplayNames>
    <Thuộc tính>
      <Bất động sản Tên="DisplayByDefault" Loại="System.Boolean">sự thật</Bất động sản>
      <Bất động sản Tên="ShowInPicker" Loại="System.Boolean">sự thật</Bất động sản>
    </Thuộc tính>
  </TypeDescriptor>

Thiết lập tài sản này giới thiệu một vấn đề nhỏ. Ngay sau khi bạn thiết lập nó một lần, bạn cần phải thiết lập nó cho mỗi cột bạn muốn hiển thị. Trong trường hợp của tôi, BDC picker cho thấy DocId theo mặc định. Tuy nhiên, một khi tôi thêm vào "ShowInPicker" danh hiệu, DocId không còn hiển thị. Tôi đã giải quyết rằng bằng cách thiết lập một cách rõ ràng các tài sản ShowInPicker cho Doc ID.

Đây là kết quả:

hình ảnh

(Tôi sẽ giải thích "lẻ 168 – CamlSchema.xsd" xây dựng trong một bài đăng blog trong tương lai. Trong ngắn hạn, nó là một chuỗi nhiều cho phép cho một kinh nghiệm người dùng tốt hơn một chút).

Tất nhiên, đã viết blog entry này, Tôi chỉ cần làm một tìm kiếm cho "ShowInPicker" và tìm thấy nhiều bài hit, trong đó có một này: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. Nó giải thích ý nghĩa của tài sản đó cùng với một số công cụ BDC tốt khác.

</kết thúc>

Đăng ký vào blog của tôi!

Technorati Tags: