2012-05-12 15 views
0

私は現在、他の会社によって開始されたプロジェクトに取り組んでいます。彼らはいくつかのCMISコネクタを作成しましたが、現在Alfresco内にドキュメントを格納するために使用されています。そのコネクタ/コンポーネントのソースはありません。クライアントとプロバイダの間には何かが激しくなりました。私たちが持っているコードを手に入れるのは難しい戦いでした。Alfresco:以前のある時点でチェックアウトされた書類をチェックインしています(そして、左吊り)

ファイルがすでにチェックアウトされていて現在ロックされているため、文書の更新が失敗することがあります。屋外サーバーの中にユーザーがいない(Webサービス経由で行われている)ユーザーがいないことを考慮して、ある時点で静かにクラッシュし、文書を無期限にチェックアウトしていると考えています。私は問題が私たちが管理しているアプリにあると仮定しています。この問題はAlfrescoが原因である可能性があります。

私たちは、ドキュメントを更新するために失敗見つけた機能 - それはアウトをチェックしたまま1、しかしそれのために失敗した1がありません - このです:

cmisHelper.checkIn(cmisHelper.checkOut(cr.getId()), "Update", null, docBytes, mimeType); 

cr.getId()ありドキュメントID。明らかな理由により、チェックアウトが失敗します。

他のセッションでチェックアウトされている可能性のあるドキュメントをチェックインする方法はありますか?そのカスタムメイドのcmisHelperクラスは、ロック解除に関係するものはないようです。ドキュメンテーションは、あなたが推測できるように、行方不明である。

私が考えたことは、アルフレコで自動的に "期限切れ"のチェックアウトをチェックすることでした。しかし、私はそのような選択肢を見つけていない。

おかげ

答えて

2

がある作業コピーのタイムアウトません、そして限り、ユーザーはそのように離れると、その状態にとどまることができる文書をチェックアウトしました。まず作業コピーが期限切れになっているかどうかを識別する方法が必要です。チェックアウトのタイムアウトという概念を導入することもできます。

など。 Alfrescoチェックアウトの翻訳が1時間で完了する必要があることをユーザーに伝えるとしましょう。次に、次のようなスクリプトを実行できるすべてのhorを実行するようにcronジョブを設定できます。

var nodes = search.query("ASPECT:\"cm:workingcopy\" AND @cm\:created:\$\{luceneDateRange(today, \"-P1H\")\}"); 
for each (n in nodes) { 
    n.remove(); 
} 
関連する問題