Javascript APIを使用してスクリプトを作成したので、これをSpaceにルールとして使用できます。ドキュメントがスペースに入ると、基本的にドキュメントの名前がチェックされ、ドキュメントの名前が保存されます(ドキュメントの名前には親のフォルダ名が含まれます)。次に親ディレクトリが作成されます(存在しない場合)それへの文書化。AlfrescoのJavascript APIを使用してノードを独自のツリーに移動することはできません
私はこの最後のステップで問題を抱えています。私が最近作成したフォルダにドキュメントを移動しようとするたびに、私は次のエラーを取得する:
Node has been pasted into its own tree.
これは、私はかなり自動記述的であると考えており、これまでの私のコードです:
var fileName= document.properties.name;
var fields = fileName.split('.');
var parentName= fields[0];
var newNode=space.childByNamePath(parentName);
if (newNode === null) { //create folder and move document into it
newNode=space.createFolder(parentName); //works
document.move(newNode); //I'm getting the error here
}else{ //folder already exists, just move document into it
document.move(newNode); //here too
}
私がのdocument.move(newNode)をコメントアウトした場合。行はすべて正常に動作します。親フォルダは正常に作成されましたが、明らかにドキュメントは現在のスペースのルートに保存されていますが、これは必要なものではありません。実際には、実際のフォルダに移動する必要があります。
何か間違っていますか?どんな助けでも大歓迎です。ありがとう。
UPDATE:確かに私は移動()私は他の範囲内の他の呼び出しをコメントアウトした場合、それが働いているかの範囲内の呼び出していることが分かりました。したがって、エラーはelse move()コールでスローされています。私は他句を削除し、かの範囲の後に一つだけ移動()コールを入れた場合も、それはまた、同じエラーを生成します。
アルフレコのデバッガを使用して何が起こっているのかを確認しますか? http://docs.alfresco.com/5.1/tasks/ws-controller-debug.html – Akah
このデバッガはクライアント側のWebスクリプト用に作られていませんか?鉱山は、文書がこのスペースに入るたびに、いくつかの具体的なスペースに対するルールとして、サーバー側で実行されています。 –
いいえ、これはバックエンドのjavascriptデバッガです。私はバックエンドのWebスクリプトではうまく動作していることを知っていますが、スクリプトルールで動作することは保証できません。とにかく、もしそれがうまくいくなら、それは本当に助けになるので、私は試してみます。 – Akah