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"&"
  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!

Dự án CodePlex rất riêng của tôi: Tiện ích mở rộng quy trình làm việc cho SharePoint Designer

CẬP NHẬT: Xem ở đây (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!310.entry) cho mới nhất về dự án này.

Tôi tạo ra một CodePlex dự án ngày hôm nay để nhà giao diện chung SPD mã mà tôi viết blog về Ở đây (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!275.entry).

Có một cái nhìn tại Ở đây (http://www.codeplex.com/spdwfextensions) để xem dự án CodePlex và đá các lốp xe.

Nếu bạn quan tâm đến làm việc này với tôi, bắn ra một email tại mailto:galvin.paul@gmail.com

SharePoint Designer — Các hoạt động tùy chỉnh để thực hiện chức năng xác định người sử dụng C#

CẬP NHẬT: Điều này đã được phát hành để CodePlex ở đây: http://www.codeplex.com/spdwfextensions

CẬP NHẬT: Xem ở đây để đặt các ghi chú phát hành: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

CẬP NHẬT: Xem ở đây để suy nghĩ của tôi về thương mại hóa các dự án này: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Dự án này cung cấp một hoạt động tùy chỉnh trong SharePoint Designer. Sử dụng này hoạt động tùy chỉnh để gọi (công văn) bất kỳ C# chức năng mà bạn đưa vào hội đồng được liên kết.

Theo cuối tháng mười, 2007, đây là chỉ là một phiên bản ban đầu của dự án. Tôi có kế hoạch mở rộng nó với một số chức năng bổ sung, trong đó xâu con, chỉ số, thay thế, gọi Dịch vụ web và bất cứ điều gì đó có vẻ hữu ích hoặc thú vị. Tôi cũng dự định đăng bài này để codeplex sau khi tôi đã hành động của tôi với nhau ngày trước đó. Điều này cũng sẽ có thể triển khai như một giải pháp tại một số điểm.

Nếu bạn có bất kỳ ý kiến, câu hỏi hay đề nghị, Xin vui lòng để lại cho họ trong ý kiến hoặc gửi email cho tôi.

Tuyên bố từ chối:

Tôi làm cho hoàn toàn không có tuyên bố về sự phù hợp của này cho mục đích nào. Sử dụng tại rủi ro của riêng bạn.

Bước cài đặt (để được theo sau cho mỗi WFE trong trang trại):

1. Tải về Zip và giải nén.

2. Cài đặt .dll vào gấc. Tôi thường mở c:\windowsassembly bằng cách sử dụng windows explorer và bản sao nó có.

3. Sửa đổi web.config để thêm lắp ráp để kiểm soát an toàn:

<System.Workflow.ComponentModel.WorkflowCompiler>
<authorizedTypes>

<authorizedType hội = "SpdGenericInterface, Phiên bản = 1.0.0.0, Văn hóa = trung tính, PublicKeyToken = abe076fd8125f3c4" Không gian tên = "Nivlag" TypeName = "*" Cho phép = "True" />

4. Sao chép "SpdGenericInterface.actions" để C:\Chương trình FilesCommon FilesMicrosoft Sharedweb máy chủ extensions12TEMPLATE1033Workflow

Lưu ý rằng vị trí ở trên là cụ thể cho cài đặt ngôn ngữ tiếng Anh.

5. Đóng SharePoint Designer (Nếu nó đã mở).

6. iisreset

7. Mở SPD và tạo ra một công việc mới.

Nếu mọi việc suôn sẻ, bạn nên được khen thưởng với một thể loại mới của hành động:

hình ảnh

Ghi chú:

Xem Ở đây (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) để có cái nhìn tuyệt vời của quá trình cho việc tạo ra, cài đặt và cấu hình một giải pháp như thế này.

Zip được thiết kế để trích xuất trực tiếp cho bạn c:\ lái xe. Nếu bạn làm điều này, bạn có thể mở các dự án và tất cả các đường dẫn sẽ được phù hợp.

Sử dụng điều này trong visual studio, bạn có thể cần phải cài đặt "Tiện ích mở rộng cho Windows WF".

Tải lên ban đầu có chứa chỉ là một "dispatcher chức năng", "ToLower()". Để thêm nhiều chức năng, thêm nó vào các phương pháp thực hiện như được hiển thị:

 bảo vệ ghi đè ActivityExecutionStatus
          Thực hiện(ActivityExecutionContext executionContext)
        {

            chuỗi functionToDispatch;
            functionToDispatch = Điều này.DispatchFunction.ToLower();

            chuyển đổi (functionToDispatch)
            {
                trường hợp "tolower()":
                    {
                        Điều này.OutResult1 = Điều này.InParam1.ToLower();
                        phá vỡ;
                    }

                mặc định:
                    {
                        Điều này.OutResult1 = "Không xác định chức năng: [" + Điều này.DispatchFunction + "].";
                        phá vỡ;
                    }
            }

            trở lại ActivityExecutionStatus.Đóng cửa;
        } // ActivityExecutionStatus

    }

Sau đó, tái xây dựng dự án và sao chép lắp ráp gấc. Tôi mong đợi một iisreset sẽ được yêu cầu.

SPD quy trình làm việc hành động tùy chỉnh – nhận được các <WorkflowInfo> từ khóa bên phải để tránh thất vọng

Một phần của quá trình tạo ra một hành động tùy chỉnh cho SharePoint Designer liên quan đến việc tạo ra một ".actions" tập tin.

Tôi đã tìm thấy và cố gắng sử dụng một mẫu mẫu mà bắt đầu ra như là:

<?XML Phiên bản="1.0" mã hóa="UTF-8" ?>
<
WorkflowInfo xmlns="http://schemas.Microsoft.com/SharePoint/">
<
Hành động Tuần tự="sau đó" Song song="">

Tuy nhiên, thuộc tính xmlns đó ngăn ngừa môi trường của tôi từ làm việc. Hành động của tôi không hiển thị trong SPD.

Giải pháp là để loại bỏ các thuộc tính xmlns, làm một iisreset và đóng/re-mở SPD.

Nhanh chóng và đơn giản: Cấu hình MOSS để tìm kiếm một thư viện tài liệu cụ thể

Xem Cập Nhật (TÔI) dưới đây (11/24/07) Ngày Làm thế nào để cấu hình Microsoft Office SharePoint Server 2007 chỉ mục và thư mục mạng thu thập dữ liệu cho tìm kiếm

Mục tiêu: Tôi muốn thực hiện một tìm kiếm hạn chế đến một thư viện tài liệu cụ thể. Trong trường hợp này, thư viện tài liệu có chứa tài liệu đào tạo.

Bước:

1. Ghi lại URL thư viện tài liệu.

2. Tạo ra một phạm vi:

Đi đến quản trị Trung ương.

Truy cập SSP.

Hãy vào "Cài đặt tìm kiếm".

Cuộn xuống mục phạm vi và chọn "Xem phạm vi".

Tạo ra một phạm vi mới. Cung cấp cho nó một tên và mô tả hữu ích.

3. Xác định phạm vi thu thập dữ liệu quy tắc:

Thêm quy tắc xác định thư viện tài liệu cho các phạm vi này.

Chọn "địa chỉ web" Đối với "Phạm vi quy tắc loại".

Nhập tên của thư mục của bạn (xem #1 ở trên).

Chấp nhận giá trị mặc định của "Bao gồm".

Chờ đợi cho phạm vi để Cập Nhật (hoặc bắt đầu nó bằng tay).

4. Sử phạm vi trong một bộ sưu tập trang web.

Đi đến bộ sưu tập trang web mà bạn muốn sử dụng phạm vi này.

Thêm phạm vi mới của bạn để hiển thị thích hợp nhóm hoặc nhóm.

5. Tìm kiếm!

Tại thời điểm này, bạn đã hoàn tất. Giả định phạm vi được đúng định nghĩa, nó sẽ có sẵn ở phạm vi thả downs cho các tìm kiếm đơn giản và nâng cao và khi bạn tìm kiếm bằng cách sử dụng phạm vi đó, bạn sẽ chỉ nhận được kết quả bạn mong đợi.

Ghi chú:

Tôi đã viết blog entry này vì tìm kiếm của tôi cho các thiết lập đơn giản phạm vi bật lên khô bằng cách sử dụng cụm từ thích:

  • Đặt cấu hình phạm vi trong MOSS
  • Đặt cấu hình tìm phạm vi rêu
  • phạm vi trong sharepoint 2007
  • phạm vi trong sharepoint
  • Tìm kiếm một thư viện tài liệu rêu
  • phạm vi mồi rêu

Bạn có thể tạo ra một phạm vi tìm kiếm vào thư mục, không chỉ là thư viện toàn bộ tài liệu.

Một phạm vi có thể được chia sẻ trên nhiều trang web bộ sưu tập (do đó, một dịch vụ"chia sẻ").

Bạn có thể tạo phạm vi ở cấp bộ sưu tập trang web chính nó. Tuy nhiên, Tôi muốn đi đến Trung tâm quản trị vì tôi có thể bắt đầu thu thập dữ liệu từ đó. Bạn không thể bắt đầu thu thập dữ liệu từ bộ sưu tập trang web.

CẬP NHẬT (TÔI) như của 11/24/07:

Kai Shang đặt cùng một bài tuyệt vời mang tên Làm thế nào để cấu hình Microsoft Office SharePoint Server 2007 chỉ mục và thư mục mạng thu thập dữ liệu cho tìm kiếm @ http://kaishenghoo.spaces.live.com/blog/cns!8A7458DB12CA5AC9!206.entry