Tôi nhận ra đây là một câu hỏi cũ, nhưng gần đây tôi đã chiến đấu với cùng một vấn đề này từ góc độ dịch vụ cốt lõi và muốn chia sẻ con đường tôi mất (và có thể ai đó sẽ chỉ ra nơi tôi có thể đã đi sai trước khi tôi triển khai này để sản xuất).
Sau khi thử một vài cách tiếp cận khác với Dịch vụ cốt lõi, tôi đã quyết định thêm hoạt động thủ công cuối cùng vào luồng công việc và logic tùy chỉnh của mình cho hoạt động tự động trước đó. Trong logic dịch vụ cốt lõi của hoạt động tự động, tôi kết thúc hoạt động tự động hiện tại (trả về phiên bản hoạt động thủ công cuối cùng), giả mạo tác giả ban đầu, bắt đầu cá thể hoạt động cuối cùng (làm tác giả) và hoàn thành cá thể hoạt động cuối cùng (một lần nữa, tác giả).
Tôi đang sử dụng SessionAwareCoreServiceClient và chạy trên chính Trình quản lý nội dung. Tôi phải thêm "NT AUTHORITY \ SYSTEM" để những người sử dụng Mạo danh trong nội dung tiện ích cấu hình quản lý Tridion (có thể có tác động an ninh sử dụng Mạo danh, do đó hãy chắc chắn rằng nó có ý nghĩa đối với môi trường của bạn):

mã này trông giống như thế này (mặc dù tôi đã rời ra một số điều như nhận được các trường hợp hoạt động hiện tại, lấy tác giả ban đầu từ các hoạt động thủ công đầu tiên và tôi bổ sung bằng cách sử dụng SessionAwareCoreServiceClient để cung cấp cho một số ngữ cảnh):
using (SessionAwareCoreServiceClient client = new SessionAwareCoreServiceClient())
{
ActivityFinishData activityFinish = new ActivityFinishData()
{
Message = message,
NextAssignee = new LinkToTrusteeData() { IdRef = authorUser.IdRef }
};
// Finish current automatic activity
ActivityInstanceData finalActivity = client.FinishActivity(activityInstance.Id, activityFinish, new ReadOptions());
// Impersonate original author
client.Impersonate(authorUser.Title);
// Start final (manual) activity as author - if you don't start it, then non-Administrators can't finish them.
client.StartActivity(finalActivity.Id, null);
// Finish final (manual) activity as author
client.FinishActivity(finalActivity.Id, activityFinish, null);
}
Hy vọng tôi cũng không làm gì cả khủng khiếp ngu ngốc và có thể câu trả lời này sẽ giúp một người như bản thân tôi phải cobble nó với nhau từ các câu hỏi khác nhau/blog/tài liệu tham khảo và thực hiện một chút thử và lỗi (mà có thể nhận được tẻ nhạt với công việc).
Nguồn
2013-06-05 05:56:39
Có thể loại cuối cùng trong quy trình làm việc của bạn là hoạt động tự động không? –
@Igor Chính xác, các hoạt động tự động thường được thực hiện bởi hệ thống cục bộ, điều đó chắc chắn sẽ giải thích tác giả. – Quirijn
Hoạt động cuối cùng trong quy trình làm việc của tôi là tự động. Điều đó có nghĩa là mọi thành phần đi qua quy trình làm việc đều không có lịch sử phiên bản chính xác. Có anyway để làm cho tác giả của các thành phần xuất hiện trong lịch sử phiên bản khi sử dụng một quy trình làm việc như thế này? –