2016-08-23 5 views
0

私は1つのobjectIdを持っています。Apache Chemistry PHP Libraryを使ってその名前を変更したいと思います。更新cmis:Apache ChemistryのPHPライブラリを持つオブジェクトの名前

Chemistryライブラリが提供するupdatePropertiesメソッドを使用しようとしましたが、変更が見えません。何が起きましたか?

$test = new CMISService($repo_url, $repo_username, $repo_password); 
$id = 'ddb6eabd-a862-4e6b-9251-32b6e73300d7'; //existing objectId of the document that his name now is PRUEBAS. 

$obj = $test->updateProperties($id, array('cmis:name' => 'PRUEBAS_MODIFIED')); 

var_dump($cmis_repo->getObject($obj->id)); // I see that cmis:name continue PRUEBAS instead of PRUEBAS_MODIFIED ¿why? 

文書名を変更できますか?

しかし、私はcmis:descriptionプロパティを完全に変更することができます...なぜcmis:名前はできませんか?

+0

を変更するにはオプションの配列で、タイトルが必要ですか? – aivdev

答えて

1

私はgithubの上cmislib(パイソン)によって送信された要求とApache化学PHPクライアントフォークを比較し、後者は、以下の原子要求を送信していることが見つかりました:

<atom:title>PRUEBAS</atom:title> 
    <atom:summary>PRUEBAS</atom:summary> 
    <cmisra:object> 
    <cmis:properties> 
     <cmis:propertyString propertyDefinitionId="cmis:name"> 
     <cmis:value>PRUEBAS_MODIFIED</cmis:value> 
    </cmis:propertyString> 
    </cmis:properties> 
    </cmisra:object> 

Pythonクライアントは、新しい名前を送信<atom:title>タグ。 <atom:title><atom:summary>タグを削除し、curl --upload-fileでテキストをAlfrescoに送信しようとしましたが、これは正しく機能しました。

私は、<atom:title>タグの値(cmis:nameのプロパティを更新しようとすると)をAlfrescoが最初に考慮し、<cmis:value>タグの値に戻っていると推測します。

IMHOは、PHPクライアントライブラリのバグと見なすことができます。これは修正するのが非常に難しいはずです。

+0

ありがとうerny。 私はこの他のライブラリhttps://github.com/dkd/php-cmis-clientでうまく動作しようとしました。 – aivdev

1

ernyは正しい方向にありました。私のために働いた

public function renameObject($objectId, $name) 
{ 
    $properties = array(
     'cmis:name' => $name 
    ); 
    $options = array(
     'title' => $name, 
     'summary' => $name, 
    ); 
    return $this->repository->updateProperties($objectId, $properties, $options); 
} 

、実際にあなただけの誰も私を助けていない名前

関連する問題