lưu trữ hàng tháng: Tháng mười một 2007

Bạn không thể đánh bại của SharePoint tiếp cận

Trong hai ngày qua, Tôi có tham gia vào hai cuộc họp trong thời gian đó, chúng tôi trình bày các kết quả của một dự án SharePoint. CIO và nhóm của ông đã tham gia cuộc họp đầu tiên. Đó là tiêu chuẩn và không đặc biệt đáng chú ý. Bộ phận IT là rõ ràng là tham gia vào một buổi giới thiệu doanh nghiệp của bất kỳ dự án công nghệ. Cuộc họp lần thứ hai mở rộng để bao gồm một V.P. bộ phận marketing, một số giám đốc đại diện cho nhân sự, Hậu cần, Sản xuất, Vốn đầu tư dự án, Chất lượng, Mua, Phát triển công ty và các phòng ban (một số người trong số họ đã không thậm chí trực tiếp tham gia trong giai đoạn hiện tại). Đó là một đối tượng rộng hùng.

Trong cuộc sống của tôi trước khi, Tôi chủ yếu làm việc về các dự án ERP và CRM. Cả hai đều có một tên miền khá rộng giải pháp nhưng không rộng như SharePoint. Để được thực hiện đầy đủ, Dự án SharePoint cách hợp pháp và nhất thiết phải đạt được vào mỗi nook và cranny của một tổ chức. Làm thế nào nhiều các giải pháp doanh nghiệp khác đã có loại đạt? Không nhiều.

SharePoint rõ ràng đại diện cho một cơ hội rất lớn đối với những người trong chúng ta may mắn, đủ để trong không gian này. Nó cung cấp một cơ hội tuyệt vời kỹ thuật (bằng cách nào đó mà được bật trên đầu của nó Ở đây dưới "Công nghệ bạn phải nắm vững"). Nhưng ngay cả tốt hơn, SharePoint cho thấy nhiều chúng tôi đến một phạm vi rộng lớn và rộng của quy trình kinh doanh thông qua các cuộc đụng độ. Bao nhiêu CRM chuyên gia làm việc với phía sản xuất của công ty? Bao nhiêu ERP tư vấn làm việc với nguồn nhân lực về việc mua lại tài năng? SharePoint vượt quá chúng cả hai.

Giống như bất cứ điều gì, nó không phải là hoàn hảo, nhưng đó là một nơi damned tốt để.

Đối với tình yêu của [điền vào của bạn đang người/cao người thân yêu nhất], không thay đổi các ' tiêu đề’ Trang web cột.

Trên các SharePoint diễn đàn, đôi khi có người hỏi về "thay đổi nhãn tiêu đề" hoặc về "Xoá tiêu đề từ danh sách".

Điểm mấu chốt: Không làm điều đó!

Đáng buồn, giao diện người dùng cho phép một sự thay đổi chiều của nhãn cột đó như hiển thị:

hình ảnh

Tiêu đề là một cột kết hợp với "mục" loại nội dung. Nhiều, nhiều, nhiều người sử dụng của CT cột này và nếu bạn thay đổi nó ở đây, nó gợn sóng ra ở khắp mọi nơi. Có là một cơ hội tốt mà bạn không có ý định cho rằng để xảy ra. Bạn có lẽ đã suy nghĩ cho chính mình, "Tôi có một danh sách tùy chỉnh tra cứu và ' tiêu đề’ chỉ cần không làm cho tinh thần như một tên cột, Vì vậy tôi sẽ thay đổi nó để ' mã trạng thái’ và thêm một cột mô tả." Nhưng nếu bạn làm theo thông qua vào suy nghĩ rằng và đổi tên ' tiêu đề’ để 'Mã trạng thái', mỗi danh sách tiêu đề (bao gồm thư viện tài liệu) thay đổi để "tình trạng mã" và bạn có thể không có ý định cho rằng để xảy ra.

Vấn đề thực tế là rằng đây là một sự thay đổi một chiều. Giao diện "biết." danh hiệu"" là một từ thuộc. Vì vậy, Nếu bạn cố gắng và thay đổi "tình trạng mã" Quay lại "Tiêu đề", nó sẽ khiến bạn và bây giờ bạn đã Sơn chính mình vào một góc using paint that never dries 🙂

Vì vậy, những gì sẽ xảy ra nếu bạn đã thay đổi nó? Tôi đã không nhìn thấy câu trả lời tất cả chúng ta muốn, đó là một phương pháp đơn giản và dễ dàng để thay đổi nhãn quay lại 'Tiêu đề'. Ngay bây giờ, những lời khuyên tốt nhất là thay đổi nó để một cái gì đó như "Doc/mục tiêu đề". Đó là một nhãn hiệu chung đủ mà có thể không được quá jarring cho người dùng của bạn.

Tôi có vài ý tưởng khác, đó là ngày của tôi để làm danh sách của những điều cần nghiên cứu:

  • Liên hệ với Microsoft.
  • Làm điều gì đó với các mô hình đối tượng, có thể kết hợp với một tính năng.
  • Tìm ra giản đồ cơ sở dữ liệu và tự Cập Nhật SQL. (Bạn nên liên hệ với Microsoft trước khi làm điều này mặc dù; nó có khả năng sẽ mất hiệu lực hợp đồng hỗ trợ của bạn).

Nếu có ai biết làm thế nào để giải quyết điều này, Xin vui lòng gửi bình luận.

Cập Nhật buổi chiều muộn, 11/15: Tôi tìm thấy các liên kết này mô tả một phương pháp để tạo ra một loại danh sách mà không có một tiêu đề cột: http://www.venkat.org/index.php/2007/09/03/how-to-remove-title-column-from-a-custom-list/

BDC ADF và bạn bè của bạn, CDATA

Tôi đã nhận thấy một số vụng về và không cần thiết tay-encoding của RdbCommandText trong một số ví dụ (bao gồm cả tài liệu MSDN).

Tôi muốn chỉ ra cho người mới đến BDC lệnh có thể được bọc bên trong một thẻ CDATA trong tự nhiên"của họ" hình thức. Vì vậy, xây dựng khó khăn này:

<Bất động sản Tên="RdbCommandText" Loại="System.String">
CHỌN dbo.MCRS_SETTLEMENT.ID, dbo.MCRS_SETTLEMENT.Settlement từ dbo.MCRS_SETTLEMENT
NƠI (ID &gt;= @MinId) VÀ (ID &LT;= @MaxId)
</Bất động sản>

có thể tốt hơn được đại diện bằng cách này:

<Bất động sản Tên="RdbCommandText" Loại="System.String">
<![CDATA[
CHỌN dbo.MCRS_SETTLEMENT.ID, dbo.MCRS_SETTLEMENT.Settlement từ dbo.MCRS_SETTLEMENT
NƠI (ID >= @MinId) VÀ (ID <= @MaxId)
]]>
</Bất động sản>

</kết thúc>

Chất mồi đệm BDC

Giới thiệu đến BDC

Ví dụ chức năng: BDC ADF kết nối cơ sở dữ liệu SQL với nhúng người dùng id và mật khẩu

Tôi cần thiết để dây điện lên MOSS đến một cơ sở dữ liệu SQL via BDC. Cho mục đích thử nghiệm/POC, Tôi muốn nhúng SQL tài khoản người sử dụng id và mật khẩu trong ADF. Bắt đầu với mẫu này (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), Tôi tạo ra một ADF mà kết nối với một trường hợp cụ thể SQL server và đăng nhập bằng một người dùng cụ thể id và mật khẩu và hiển thị trong đoạn này:

  <LobSystemInstances>
    <LobSystemInstance Tên="ClaimsInstance">
      <Thuộc tính>
        <Bất động sản Tên="AuthenticationMode" Loại="System.String">PassThrough</Bất động sản>
        <Bất động sản Tên="DatabaseAccessProvider" Loại="System.String">SqlServer</Bất động sản>
        <Bất động sản Tên="Nguồn dữ liệu RdbConnection" Loại="System.String">trường hợp thực tế serveractual</Bất động sản>
        <Bất động sản Tên="Cửa hàng RdbConnection ban đầu của bạn" Loại="System.String">cửa hàng thực tế ban đầu</Bất động sản>
        <Bất động sản Tên="RdbConnection tích hợp an ninh" Loại="System.String">SSPI</Bất động sản>
        <Bất động sản Tên="RdbConnection tổng hợp" Loại="System.String">sai</Bất động sản>

        <!-- Đây là các giá trị quan trọng: -->
        <Bất động sản Tên="ID người dùng RdbConnection" Loại="System.String">mộtctual người sử dụng ID</Bất động sản>
        <Bất động sản Tên="Mật khẩu RdbConnection" Loại="System.String">mật khẩu thực tế</Bất động sản>
        <Bất động sản Tên="RdbConnection Trusted_Connection" Loại="System.String">sai</Bất động sản>

      </Thuộc tính>
    </LobSystemInstance>
  </LobSystemInstances>

Nó không phải là một thực hành tốt nhất, nhưng nó rất hữu ích cho một cấu hình nhanh chóng và đơn giản để thử nghiệm. Điều này là đáng ngạc nhiên khó khăn để tìm ra. Tôi không bao giờ tìm thấy một ví dụ chức năng với từ khóa tìm kiếm:

  • ADF nhúng user và mật khẩu
  • nhúng id người dùng và mật khẩu trong adf
  • nhúng id người dùng và mật khẩu trong adf bdc
  • SharePoint bdc mồi
  • SharePoint nhúng id người dùng và mật khẩu trong adf

</kết thúc>

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

SPD quy trình làm việc tùy chỉnh hành động — cải tiến thao tác chuỗi

Khoảng một tuần trước đây, Tôi bắt đầu lên một dự án codeplex cung cấp một phương pháp đơn giản và hợp lý chung cho thêm hành động tùy chỉnh chức năng để SharePoit thiết kế quy trình làm việc. Nó được mô tả ở đây: http://www.codeplex.com/spdwfextensions. Vượt ra ngoài chỉ đơn giản là cung cấp một khuôn khổ, nó cũng nhằm mục đích cung cấp một tập hợp các chức năng hữu ích mà sẽ làm cho SPD hữu ích/linh hoạt/mạnh hơn.

Dưới đây là các tính năng kế hoạch hiện tại cho phiên bản 1.0: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Nếu bất cứ ai có bất cứ quan tâm trong dự án này, Xin vui lòng để lại một bình luận hoặc bắt đầu/thêm vào một cuộc thảo luận ở đây: http://www.codeplex.com/spdwfextensions/Thread/List.aspx

Dưới đây là các thiết lập hiện tại của chức năng đã được mã hóa (mặc dù không hoàn toàn được thử nghiệm như của 11/08/07):

Chức năng Mô tả (Nếu không giống như chức năng .net)
NUM-mục() Trả về số "mục" trong một chuỗi theo một delimiter được chỉ định.

Ví dụ:: NUM-mục trong một chuỗi "một,b,c" với delimiter"," = 3.

Nhập cảnh() Trả về kỷ niệm thứ n trong một chuỗi theo một delimiter được chỉ định.
Chiều dài String.Length
Thay thế() String.Replace()
Chứa() String.Contains()
Trở về từ "đúng" hoặc từ "sai".
Xâu con(bắt đầu) String.Substring(bắt đầu)
Xâu con(bắt đầu,kết thúc) String.Substring(bắt đầu,kết thúc)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Trở về từ "đúng" hoặc từ "sai".
EndsWith() String.EndsWith()
Trở về từ "đúng" hoặc từ "sai".

Nhanh chóng & dễ dàng url mã hóa tiện ích máy tính để bàn

Tôi đã cần đến url-mã hóa một số dây tuần này và tát với nhau một tiện ích một chút tôi nghĩ tôi sẽ đưa lên SkyDrive cho cộng đồng.

Có được ở đây nhị phân: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncode.zip

Nhận được giải pháp hình ảnh studio ở đây: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncodeVS2005.zip

Đây là một ảnh chụp màn hình:

hình ảnh

Nhanh chóng và dễ dàng: Nhúng một siêu liên kết vào dữ liệu xem web phần XSLT

CẬP NHẬT (01/17/08): Blog entry này nói về siêu liên kết thêm XSL lòng tốt: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.

Tổng quan và mục tiêu: Tôi đã tạo ra một biểu đồ thanh đơn giản để phục vụ như là thành phần trên một bảng điều khiển. Tôi sẽ tiết kiệm các chi tiết xây dựng bảng xếp hạng cho đăng bài khác, nhưng tôi đã không phát minh ra rằng kỹ thuật (cũng không phải là dấu chấm hỏi, cho rằng vấn đề). Nó bật ra đã có một lỗi trong bảng xếp hạng và trong khi tôi cố định rằng, Tôi đã có cơ hội để chuyển đổi một số nhãn vào siêu liên kết chỉ danh sách cơ bản đằng sau đồ thị. Ví dụ:, đó là một nhãn hiệu với giá trị "Giữ lại". Tôi muốn chuyển nhãn thành một siêu liên kết do đó người dùng có thể nhấp chuột vào nó và khoan xuống đến các mục cụ thể trong danh sách có giá trị trạng thái là "Tổ chức".

Bước:

  1. Sử dụng visual studio cho nhận thức được SharePoint intellisense.
  2. Sao chép của DVWP XSLT vào phòng thu trực quan (tạo một dự án trống, Thêm một tập tin XSL cho dự án).
  3. Sao chép liên kết bạn muốn sử dụng vào bảng tạm.
  4. Dán nó vào đúng vị trí trong XSL.
  5. Chuyển đổi thiết bị tách đối số URL trên chuỗi truy vấn từ"&" đến"&amp;"
  6. URL mã hóa đối số cá nhân.
  7. Bọc bên trong đó một <a href…> </một>

Ví dụ:

Tôi có một URL:

http://[máy chủ]/[Trang web]/Lists/Open Positions/AllItems.aspx?Xem ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = nhà tuyển dụng&FilterValue1 = giữ

Tôi chuyển đổi nó thành:

     <một href="Lists/Open Positions/AllItems.aspx?Xem = % 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1 %7 d&amp;FilterField1 = nhà tuyển dụng&amp;FilterValue1 = giữ"> Giữ: </một>

Tôi đã theo cách thủ công chuyển đối số đầu tiên từ:

{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}

để:

%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1 %7 d

(Trong điều này, biến đổi mở đôi để % 7b và đóng cửa đôi biến đổi để %7 d)

Các đối số thứ hai và thứ ba’ tham số ("FilterField1 =Nhà tuyển dụng" và "FilterValue1 =Giữ" tương ứng) không cần phải được mã hóa url vì chúng không chứa bất kỳ ký tự không an toàn.

Ghi chú:

Kỹ thuật này nên thường làm việc bất cứ nơi nào bạn muốn nhúng một siêu liên kết trong XSLT nơi mà các siêu liên kết bao gồm các tham số vào URL chẳng hạn như:

http://[máy chủ]/[Trang web]/Lists/Open Positions/AllItems.aspx?Xem ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = nhà tuyển dụng&FilterValue1 = giữ

Tôi có URL chính nó bằng cách truy cập vào danh sách tùy chỉnh và theo cách thủ công và các bộ lọc cột trạng thái (có nhãn "nhà tuyển dụng" ở trên).

Nhanh chóng và đơn giản: Cho phép SharePoint Designer quy trình làm việc để cập nhật một hình thức InfoPath

Kịch bản: Tôi có một hình thức InfoPath mà frontend một quá trình quy trình làm việc thực hiện bằng cách sử dụng SharePoint Designer. Tại một thời điểm, một người quản lý phải chấp nhận các hình thức. Kể từ khi tôi không thể tin cậy vào lịch sử công việc để đáp ứng các yêu cầu kiểm toán của tôi, Tôi quyết định để lưu trữ của riêng tôi kiểm định thư trực tiếp trên các hình thức chính nó.

Tổng quan:

Thiết kế mẫu và xuất bản nó như là một loại nội dung và các hình thức chính nó vào một thư viện tài liệu. Mark mong muốn lĩnh vực hình thức là updateable từ MOSS. Các hình thức được gắn với loại nội dung và các loại nội dung được "gắn" một thư viện các hình thức (hoặc nhiều, Nếu bạn muốn). Viết một quy trình làm việc Cập Nhật trường.

Bước cụ thể:

  1. Tạo một thư viện tài liệu. Điều này sẽ giữ của bạn mẫu InfoPath.
  2. Tạo một thư viện mẫu đơn.
  3. Tạo ra hình thức InfoPath. Bao gồm một trường văn bản, "Kiểm tra thư".
  4. Xuất bản các hình thức như là một loại nội dung (Không phải là một tài liệu).
  5. Trong khi điền vào các hộp thoại xuất bản:
    một) Lưu các tập tin .xsn vào thư viện tài liệu (bước #1).
    b) Xuất bản "thư kiểm toán" trường và đánh dấu đúng: "Cho phép người dùng để chỉnh sửa dữ liệu trong lĩnh vực này bằng cách sử dụng một trang datasheet hoặc thuộc tính".
    c) Tạo ra một loại nội dung mới và cung cấp cho nó một tên thích hợp.
  6. Truy cập vào các hình thức thư viện.
    một) Đi tới thiết đặt nâng cao của nó và kích hoạt tính năng thư viện hình thức để quản lý các loại nội dung.
    b) Chọn loại nội dung mới được thành lập (5c ở trên). Nó sẽ được nhóm lại theo "Microsoft InfoPath" (hoặc tương tự).
    c) Loại bỏ mặc định "hình thức" loại nội dung từ thư viện.
    d) Đánh dấu thư viện để "hiển thị dưới dạng web page" Vì vậy mà các hình thức sẽ khởi động từ SharePoint và không InfoPath trạm làm việc khách hàng.
  7. Trở về thư viện hình thức thích hợp và nhấp vào "New" đơn giản chỉ cần xác minh rằng các hình thức là đăng một cách chính xác và hành động như bạn muốn.
  8. Cháy lên SharePoint Designer và điều hướng đến các trang web lưu trữ thư viện mẫu của bạn (từ bước 2).
  9. Tạo ra một công việc mới gắn liền với các hình thức thư viện.
  10. Thêm một hành động duy nhất "Thiết lập trường xuống trong mục hiện tại". Bạn có thể mong đợi SharePoint Designer vào danh sách bạn đang lĩnh vực của bạn, "Kiểm tra thư". Gán cho nó một giá trị.
  11. Bấm hoàn tất và trở về thư viện mẫu.
  12. Tạo ra một hình thức mới và đặt một số giá trị thử nghiệm vào trong"kiểm toán" lĩnh vực.
  13. Lưu nó và trở về thư viện mẫu.
  14. Nhấp chuột phải, chọn "Workflow" và bắt đầu công việc của bạn.
  15. Nó nên chạy gần như ngay lập tức. Kéo lên các hình thức (từ bước 12) và nếu tất cả đã đi để lên kế hoạch, "Kiểm toán tin nhắn" đã được chỉ định bất kỳ giá trị bạn cung cấp trong bước 10.

Ghi chú:

Không phải tất cả các điều khiển có thể cấu hình cho giao tiếp bi-directional này. Ví dụ:, nó không có vẻ để thực hiện một quy trình làm việc SPD sửa đổi văn bản lĩnh vực bọc bên trong lặp đi lặp lại phần.

Một trong chính đi-đi của ở đây là rằng chúng tôi đã thực sự tạo ra một loại nội dung với một mẫu liên kết. Điều này cũng cho phép chúng ta lưu trữ nhiều InfoPath hình thức mẫu trong cùng một thư viện mẫu.

Điều này đòi hỏi các hình thức máy chủ. Nó sẽ chắc chắn nhất không làm việc trong một WSS 3.0 môi trường và thậm chí có thể yêu cầu một môi trường doanh nghiệp SharePoint.

Beagle đã hạ cánh xuống (Tháng Mười 2007 vấn đề)

(Điều này là thực sự một chút cũ tin tức, Tuy nhiên, như phương châm lửa trạm yêu thích của tôi tuyên bố, "Tốt hơn muộn hơn bao giờ").

Kiểm tra xem nó ra ở đây: http://www.sharepointbeagle.com/

Nếu bạn có chưa, Hãy chắc chắn để Đăng ký.

Tất nhiên, Hãy chắc chắn để đọc Bài viết của tôi về một dự án SharePoint thực thế giới (trong đó có yêu cầu định nghĩa, Của KPI, loại nội dung, biểu đồ và nhiều hơn nữa) cuõng nhö đồng nghiệp của tôi Các bài viết về phần nội dung truy vấn web.

Có rất nhiều công cụ khác tốt quá.

Làm thế nào để loại bỏ “Xem tất cả các nội dung trang web” liên kết

Tôi được hỏi câu hỏi này gần như mỗi tuần, bình thường trong bối cảnh của một cuộc thảo luận an ninh. Một tác giả người quản trị/trang web đã cung cấp một trang web, cấu hình bảo mật, sắp xếp web thành phần và cá nhân hoá khởi chạy nhanh để cung cấp cho rằng oh-để-hoàn hảo bộ tuỳ chọn cho người dùng cuối. Nhưng, ra khỏi hộp, bạn không thể loại bỏ các "Xem tất cả các nội dung trang web" liên kết.

Mark Wagner cung cấp câu trả lời Ở đây (http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=36). Viết lên của ông là tuyệt vời hai cấp độ. Nó cung cấp một câu trả lời cho câu hỏi, "Làm thế nào để loại bỏ các xem tất cả trang web nội dung" liên kết? Sau đó, nó trả lời các câu hỏi tiếp theo ngay lập tức: Làm thế nào để tôi dễ dàng kích hoạt giao diện tất cả nội dung trang web liên kết trên một cơ sở trang web của trang web?

Là một tiền thưởng: Cách tiếp cận của ông làm việc cho WSS, không chỉ MOSS.

</kết thúc>

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