簡體   English   中英

阻止在Alfresco Share中添加Aspect

[英]Prevent Aspect from being added in Alfresco Share

大多數教程都沒有考慮到這一點,但是我想在很多情況下節點不能滿足自定義方面的所有要求。

我發現發生這種情況的唯一方法是開發行為,然后在beforeAddAspect中拋出Alfresco運行時異常。

這是通過將添加之前的方面分類注冊為FIRST_EVENT發生的

this.beforeAddAspect = new JavaBehaviour(this, BEFORE_ADD_ASPECT, NotificationFrequency.FIRST_EVENT);

然后拋出錯誤本身:

@Override
    public void beforeAddAspect(NodeRef nodeRef, QName aspectTypeQName) {
        if(!hasRequirements())) {
           throw AlfrescoRuntimeException.create("error.my.message", new Object[]{......});
        }

    }

我想知道我是否做對了,或者是否有其他解決方案不涉及拋出錯誤。

這種“錯誤方法”也有一個缺點,錯誤消息無法自定義,並且用戶正在獲得標准錯誤消息。

如上所述,基本上,這是一個自定義方面,在開發時(目前)是一個標記方面。 根據需要,讓我提供有關該主題的一些詳細信息:

  • “方面”僅適用於內容類型,可選地(希望)僅適用於特定的模仿類型。
  • 通過應用方面,將在節點上啟動一些動作:標記,計算變量等。用戶希望,如果節點具有方面,則還會發生其他事情。
  • 一切都發生在“共享UI”邊界中,用戶以經典方式應用外觀,但是他在節點視圖上也沒有幾個快捷方式操作,它們可以執行相同的應用/移除外觀。 唯一的區別是該操作向用戶提供了自定義的反饋錯誤/成功。

我正在使用Alfresco 4.2f

關於錯誤消息,您可以通過以下方法實現。

您可以從hasRequirements函數返回錯誤代碼。根據錯誤代碼或成功代碼,您可以顯示消息。

您的方法是滿足業務需求的最佳方法。您只能使用策略來實現。

希望這可以幫助 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM