Commit 2322912efe5afb7ff7b02d8ea7cae905e8b32245
1 parent
1b09cee0
BBS-1036
"Option to turn off request for metadata on document upload" Changed the architecture of the mechanism to retrieve settings from the server. Committed By: Isaac Lundall Reviewed By: Conrad Vermeulen git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@7112 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
4 changed files
with
56 additions
and
32 deletions
config/config.ini
| @@ -291,7 +291,7 @@ safemode = on | @@ -291,7 +291,7 @@ safemode = on | ||
| 291 | ; Identify the location of the mysql.exe and mysqldump.exe | 291 | ; Identify the location of the mysql.exe and mysqldump.exe |
| 292 | ;mysqlDirectory=c:/program files/ktdms/mysql/bin | 292 | ;mysqlDirectory=c:/program files/ktdms/mysql/bin |
| 293 | 293 | ||
| 294 | -[KTtoolsSettings] | 294 | +[clientToolPolicies] |
| 295 | ;These two settings control whether or not the client is prompted for metadata when a | 295 | ;These two settings control whether or not the client is prompted for metadata when a |
| 296 | ;document is added to knowledgetree via KTtools. They default to true. | 296 | ;document is added to knowledgetree via KTtools. They default to true. |
| 297 | explorerMetadataCapture = true | 297 | explorerMetadataCapture = true |
config/dmsDefaults.php
| @@ -451,8 +451,8 @@ class KTInit { | @@ -451,8 +451,8 @@ class KTInit { | ||
| 451 | $oKTConfig->setdefaultns('webservice', 'downloadExpiry', '30'); | 451 | $oKTConfig->setdefaultns('webservice', 'downloadExpiry', '30'); |
| 452 | $oKTConfig->setdefaultns('webservice', 'randomKeyText', 'bkdfjhg23yskjdhf2iu'); | 452 | $oKTConfig->setdefaultns('webservice', 'randomKeyText', 'bkdfjhg23yskjdhf2iu'); |
| 453 | 453 | ||
| 454 | - $oKTConfig->setdefaultns('KTtoolsSettings', 'explorerMetadataCapture', true); | ||
| 455 | - $oKTConfig->setdefaultns('KTtoolsSettings', 'officeMetadataCapture', true); | 454 | + $oKTConfig->setdefaultns('clientToolPolicies', 'explorerMetadataCapture', true); |
| 455 | + $oKTConfig->setdefaultns('clientToolPolicies', 'officeMetadataCapture', true); | ||
| 456 | 456 | ||
| 457 | 457 | ||
| 458 | $res = $this->readConfig(); | 458 | $res = $this->readConfig(); |
ktapi/ktapi.inc.php
ktwebservice/webservice.php
| @@ -323,17 +323,26 @@ class KTWebService | @@ -323,17 +323,26 @@ class KTWebService | ||
| 323 | 'document_types' => "{urn:$this->namespace}kt_document_types_array" | 323 | 'document_types' => "{urn:$this->namespace}kt_document_types_array" |
| 324 | ); | 324 | ); |
| 325 | 325 | ||
| 326 | - $this->__typedef["{urn:$this->namespace}kt_server_settings"] = | 326 | + $this->__typedef["{urn:$this->namespace}kt_client_policy"] = |
| 327 | + array( | ||
| 328 | + 'name' => 'string', | ||
| 329 | + 'value' => 'string', | ||
| 330 | + 'type' => 'string', | ||
| 331 | + ); | ||
| 332 | + | ||
| 333 | + $this->__typedef["{urn:$this->namespace}kt_client_policies_array"] = | ||
| 327 | array( | 334 | array( |
| 328 | - 'explorer_metadata_capture' => 'boolean', | ||
| 329 | - 'office_metadata_capture' => 'boolean' | ||
| 330 | - ); | 335 | + array( |
| 336 | + 'policies' => "{urn:$this->namespace}kt_client_policy" | ||
| 337 | + ) | ||
| 338 | + ); | ||
| 339 | + | ||
| 331 | 340 | ||
| 332 | - $this->__typedef["{urn:$this->namespace}kt_server_settings_response"] = | 341 | + $this->__typedef["{urn:$this->namespace}kt_client_policies_response"] = |
| 333 | array( | 342 | array( |
| 334 | 'status_code' => 'int', | 343 | 'status_code' => 'int', |
| 335 | 'message' => 'string', | 344 | 'message' => 'string', |
| 336 | - 'settings' => "{urn:$this->namespace}kt_server_settings" | 345 | + 'policies' => "{urn:$this->namespace}kt_client_policies_array" |
| 337 | ); | 346 | ); |
| 338 | 347 | ||
| 339 | /* methods */ | 348 | /* methods */ |
| @@ -635,10 +644,10 @@ class KTWebService | @@ -635,10 +644,10 @@ class KTWebService | ||
| 635 | 'out' => array( 'return' => "{urn:$this->namespace}kt_document_types_response" ), | 644 | 'out' => array( 'return' => "{urn:$this->namespace}kt_document_types_response" ), |
| 636 | ); | 645 | ); |
| 637 | 646 | ||
| 638 | - // get_server_settings | ||
| 639 | - $this->__dispatch_map['get_server_settings'] = | 647 | + // get_client_policies |
| 648 | + $this->__dispatch_map['get_client_policies'] = | ||
| 640 | array('in' => array('session_id'=>'string' ), | 649 | array('in' => array('session_id'=>'string' ), |
| 641 | - 'out' => array( 'return' => "{urn:$this->namespace}kt_server_settings_response" ), | 650 | + 'out' => array( 'return' => "{urn:$this->namespace}kt_client_policies_response" ), |
| 642 | ); | 651 | ); |
| 643 | 652 | ||
| 644 | 653 | ||
| @@ -2974,29 +2983,49 @@ class KTWebService | @@ -2974,29 +2983,49 @@ class KTWebService | ||
| 2974 | return $response; | 2983 | return $response; |
| 2975 | } | 2984 | } |
| 2976 | 2985 | ||
| 2986 | + function _encode_client_policies($policies) | ||
| 2987 | + { | ||
| 2988 | + $encoded=array(); | ||
| 2989 | + foreach($policies as $policy) | ||
| 2990 | + { | ||
| 2991 | + $encoded[] = new SOAP_Value('policy',"{urn:$this->namespace}kt_client_policy", $policy); | ||
| 2992 | + } | ||
| 2993 | + if (empty($encoded)) | ||
| 2994 | + { | ||
| 2995 | + $encoded=null; | ||
| 2996 | + } | ||
| 2997 | + return new SOAP_Value('policies',"{urn:$this->namespace}kt_client_policies_array", $encoded); | ||
| 2998 | + } | ||
| 2999 | + | ||
| 2977 | /** | 3000 | /** |
| 2978 | - * Retrieves the server settings for this server | 3001 | + * Retrieves the server policies for this server |
| 2979 | * | 3002 | * |
| 2980 | * @param string $session_id | 3003 | * @param string $session_id |
| 2981 | - * @return kt_server_settings_response | 3004 | + * @return kt_client_policies_response |
| 2982 | */ | 3005 | */ |
| 2983 | - function get_server_settings($session_id) | 3006 | + function get_client_policies($session_id) |
| 2984 | { | 3007 | { |
| 2985 | - $kt = &$this->get_ktapi($session_id ); | ||
| 2986 | - if (is_array($kt)) | ||
| 2987 | - { | ||
| 2988 | - return new SOAP_Value('return',"{urn:$this->namespace}kt_response", $kt); | ||
| 2989 | - } | 3008 | + $config = KTConfig::getSingleton(); |
| 3009 | + | ||
| 3010 | + $policies = array( | ||
| 3011 | + array( | ||
| 3012 | + 'name'=>'explorer_metadata_capture', | ||
| 3013 | + 'value'=>strtolower((string) $config->get('clientToolPolicies/explorerMetadataCapture')), | ||
| 3014 | + 'type'=>'boolean' | ||
| 3015 | + ), | ||
| 3016 | + array( | ||
| 3017 | + 'name'=>'office_metadata_capture', | ||
| 3018 | + 'value'=>strtolower((string) $config->get('clientToolPolicies/officeMetadataCapture')), | ||
| 3019 | + 'type'=>'boolean' | ||
| 3020 | + ), | ||
| 3021 | + ); | ||
| 2990 | 3022 | ||
| 2991 | - $dms_defaults = $kt->get_dms_defaults(); | ||
| 2992 | - $response['settings'] = array( | ||
| 2993 | - 'explorer_metadata_capture' => $dms_defaults->explorerMetadataCapture, | ||
| 2994 | - 'office_metadata_capture' => $dms_defaults->officeMetadataCapture | ||
| 2995 | - ); | ||
| 2996 | - $response['message'] = 'Knowledgetree server settings retrieval succeeded.'; | 3023 | + |
| 3024 | + $response['policies'] = $this->_encode_client_policies($policies); | ||
| 3025 | + $response['message'] = 'Knowledgetree client policies retrieval succeeded.'; | ||
| 2997 | $response['status_code'] = KTWS_SUCCESS; | 3026 | $response['status_code'] = KTWS_SUCCESS; |
| 2998 | 3027 | ||
| 2999 | - return $response; | 3028 | + return new SOAP_Value('return',"{urn:$this->namespace}kt_client_policies_response", $response); |
| 3000 | } | 3029 | } |
| 3001 | 3030 | ||
| 3002 | /** | 3031 | /** |