2012-02-23 20 views
7

Chúng tôi đang sử dụng Tridion 2009 SP1 với XSLT mẫuTệp nhị phân đa phương tiện - Đối với phiên bản nhỏ Siêu dữ liệu xuất bản nhưng nhị phân thực tế thì không?

Một thương hiệu mới thành phần đa phương tiện (v0.0) và tải lên tập tin nhị phân của nó sẽ được công bố một cách chính xác đến các trang web xem trước ở điểm nó được đầu tiên lưu (xuất bản của nhị phân được thực hiện bởi mẫu tbbPublishMultimedia, được hiển thị bên dưới).

Các thành phần đa phương tiện sẽ bước vào công việc như nhỏ sửa đổi phiên bản v0.1 và trong khi trong công việc (ít "Chuẩn bị nội dung bản Item") các thành phần có thể được chỉnh sửa và tập tin nhị phân lại tải lên vào thành phần của tác giả theo yêu cầu.

Mỗi lần thành phần v0.x được lưu trong luồng công việc (như v0.1, v0.2, v0.3, v0.4 vv) phiên bản "trong luồng công việc" mới nhất của thành phần và tệp nhị phân của nó sẽ được xuất bản chính xác tới trang xem trước.

Mỗi lần thành phần đa phương tiện được phê duyệt để xuất bản, rời khỏi quy trình làm việc và trở thành phiên bản chính mới (ví dụ: v1.0 .... hoặc v2.0, v3.0 v.v.).

Nếu phiên bản chính sau đó được chỉnh sửa và lưu lại, nó sẽ trở thành phiên bản sửa đổi nhỏ mới (egv1.1), sau đó sẽ được xuất bản lại lên trang xem trước (như tệp nhị phân của nó) và sau đó sẽ nhập lại quy trình làm việc.

Tuy nhiên, trong khi Tridion đúng xuất bản trẻ vị thành niên sửa đổi phiên bản mới nhất của các thành phần đa phương tiện thực tế (ví dụ v1.1) nó có vẻ xuất bản chỉ có phiên bản lớn cuối cùng của tập tin nhị phân nó chứa (ví dụ như v1.0 phiên bản). Điều thú vị là có vẻ như xuất bản siêu dữ liệu vmới nhất v1.1 cho tệp nhị phân đó (ví dụ: loại tệp và kích thước tệp ) nhưng không xuất hiện trong tệp nhị phân.

Nói tóm lại, Tridion dường như xuất bản trẻ vị thành niên/sửa đổi mới nhất "trong workflow" phiên bản của tập tin nhị phân nếu các thành phần đa phương tiện là v0.x nhưng một khi một phiên bản lớn tồn tại nó sẽ chỉ công bố phiên bản chính cuối cùng của tệp nhị phân (về cơ bản là phiên bản trước khi nó nhập lại quy trình làm việc ).

Đó là những gì nó trông giống như anyway ...

<xsl:template name="tbbPublishMultimedia"> 
    <xsl:if test="string(//tcm:Type)='Multimedia'"> 
     <xsl:variable name="binaryid" 
     select="string(//tcm:Component/@ID)"/> 
     <xsl:element name="tcm:MultimediaPublishedFileName"> 
      <xsl:value-of select="tcmse:PublishBinary($binaryid)"/> 
     </xsl:element> 
    </xsl:if> 
    </xsl:template> 

Note ... trong các mẫu trên có thể của nó để xác định một phiên bản lớn như các tcmse:PublishBinary parameter ví dụ concat($binaryid,"-v2") để xác định phiên bản để xuất bản, nhưng vì nó không cho phép bạn chỉ định một phiên bản phụ để không thực sự giúp được nhiều hơn

+0

Người dùng nào đang chạy dịch vụ nhà xuất bản? –

Trả lời

2

Gần đây tôi chưa thực hiện nhiều với các mẫu XSLT, không chắc chắn tôi có thể trợ giúp. Dù sao bạn có thể xác nhận đây là chỉ với XSLT hay nó cũng xảy ra với các mẫu khác? Nếu nó chỉ xảy ra với XSLT thì bạn có thể phải đối mặt với lỗi, trong khi nếu nó xảy ra với tất cả các ngôn ngữ khác thì nó có thể đơn giản là "theo thiết kế" và bạn không thể làm gì khác ngoài việc mở yêu cầu Nâng cao.Tôi tìm thấy gần đây rằng nếu tôi yêu cầu phiên bản 0 (tcm: 1-23-16-v0) của bất kỳ mục nào Tridion sẽ trả về phiên bản mới nhất của mục mà người dùng hiện tại được phép đọc, bao gồm cả các phiên bản nhỏ (trong C#). Có lẽ bạn có thể cho rằng một thử?

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