Issue 7830: PropertiesDescriptors for Operations with properties parameter (plm-ftf) Source: Zentrum fuer Graphische Datenverarbeitung e.V. (Mr. Steffen Nowacki, steffen.nowacki@partmaster.de) Nature: Uncategorized Issue Severity: Summary: The Computational Viewpoint defines four Operations with parameter of type PLM_property: PLM_resource_adapter.get_connection_factory PLM_connection_factory.get_connection PLM_connection.insert PLM_connection.export The allowed values for the propeties are implementation specific. To enable an interactive client to provide its user with the actual allowed or expected property values of a connected PLM Service implementation The service should have complementary operations for each operation with properties parameter, which returns descriptors for the actual allowed or expected property value: PLM_resource_adapter.get_connection_factory_property_descriptors PLM_connection_factory.get_connection_property_descriptors PLM_connection.insert_property_descriptors PLM_connection.export_property_descriptors The descriptor for a single Property should contain: the name of the property the type of the property the description of the property an optional pattern to proove user input and a flag if the property is required With a PLM_resource_adapter.get_connection_factory_property_descriptors operation there is no more need for the PLM_resource_adapter.get_connection_factory_names. Resolution: Revised Text: Resolution: Change as proposed. See also issue 7934 Revised Text: Introduce PLM_properties_descriptor into the listing of PLM objects in section 8.2. Replace figure 114 by Replace figure 116 by Extend last sentence in section 8.6. PLM_Connection_factory_interface by: and its descriptors can be obtained by the operation get_connection_factory_properties_descriptors. Replace figure 117 by Add new sections 8.8.8 and 8.8.9 after section 8.8.7 "Close Operation" as follows: Get_export_data_properties_descriptors Operation get_export_data_properties_descriptors(): PLM_properties_descriptor[0..*] The get_export_data_properties_descriptors() operation returns the descriptors of all supported parameter variants of the export_data() operation. Get_import_data_properties_descriptors Operation get_import_data_properties_descriptors(): PLM_properties_descriptor[0..*] The get_import_data_properties_descriptors() operation returns the descriptors of all supported parameter variants of the import_data() operation. Add to definition of import_data () (…implementation specific, too) and can be obtained by the operation get_import_data_properties_descriptors() Add to definition of export_data () (…implementation specific, too) and can be obtained by the operation get_export_data_properties_descriptors() Add new section 8.3 as follows: 8.3. PLM_property_descriptor and PLM_properties_descriptor Figure 0 21 PLM_properties_descriptor and PLM_property_descriptor Some of the operations defined in the computational model use parameters of type PLM_property. The supported values of those parameters are implementation specific. Each operation with a parameter of type PLM_property has a corresponding operation which a client can use to obtain descriptions of the actual supported variants of values of the properties parameter. One supported variant of values is described by an instance of type PLM_properties_descriptor. A PLM_properties_descriptor has an attribute name that contains the name of the variant, an attribute description which contains a description of the variant and a list of PLM_property_descriptor. Each element of the PLM_properties_descriptor list describes one PLM_property of the variant. A PLM_property_descriptor describes one PLM_property instance. The attribute name of the PLM_property_descriptor defines the value of attribute name of the PLM_property instance. The attribute type describes the type of the PLM_property instance. The attribute pattern defines a pattern that must match valid values of attribute value of the PLM_property. The attribute description of the PLM_property_descriptor contains a description of the described PLM_property instance. The attribute required defines wether the described PLM_property instance must be present or if it is optional. The references enabled_when_true and enabled_when_not_true can select other PLM_property_descriptor instances. The selected instance must have the type Boolean and must be contained by the same PLM_properties_descriptor instance. If a PLM_property_descriptor has enabled_when_true- or enabled_when_not_true references its attribute required must not have a value of TRUE. A described PLM_property value can only be used in a properties parameter list for an operation · if all PLM_property values described by the PLM_property_descriptors referenced by enabled_when_true are also in the properties parameter list and have the value TRUE · and no PLM_property_value described by a PLM_property_descriptor referenced by enabled_when_not_true is in the properties parameter list and has the value TRUE. The value of the attribute display_name can be used as display name of the described PLM_property in user interfaces. 8.3.1 Sample "login" PLM_properties_descriptors Figure 0 22 Sample "guest login" PLM_properties_descriptor Figure ??? shows a sample PLM_property_descriptor instance for a guest login. A valid PLM_property instance set for this descriptor must contain one PLM_property instance with a name attribute of "email" and a value attribute which matches the pattern ".+@.{3,}\..{2,3}". Figure 0 23 Sample "member login" PLM_properties_descriptor Figure ??? shows a sample PLM_property_descriptor instance for a member login. A valid PLM_property instance set for this descriptor must contain two PLM_property instances. One instance with a name attribute of "user" and an arbitrary value attribute and one instance with a name attribute of "passwd" and an arbitrary value attribute. A set of the two sample instances, the "guest login" PLM_properties_descriptor and the "member login" PLM_properties_descriptor is an example of a result of the operation get_connection_properties_descriptors() of an implementation of interface PLM_connection_factory explained in chapter ???. This result means that the operation get_connection() of the same implementation can be called with one of the two described properties parameter variants. 8.3.2 Sample "assembly export" PLM_properties_descriptor Figure 0 24: Sample "assembly export" PLM_properties_descriptor Figure 0-4 shows a sample PLM_property_descriptor instance as result of the operation get_export_data_properties_descriptors of an implementation of interface PLM_connection explained in chapter ???. This result means, that the operation export_data() of the same implementation can be called with one set of at least two PLM_property instances. These two required instances have the name attributes "assembly_number" and "include_documents". If the PLM_property with name attribute "include_documents" has the value attribute TRUE than a third PLM_property instance with a name attribute of "document_type" can be added to the properties parameter of the operation export_data(). Add new wsdl:messages to WSDL in appendix B.3 on page 568 <wsdl:message name="Get_connection_properties_descriptors"> </wsdl:message> <wsdl:message name="Get_connection_properties_descriptors_response"> <wsdl:part name="response" type="plm-cm:ArrayOfPLM_properties_descriptor"/> </wsdl:message> <wsdl:message name="Get_connection_properties_descriptors_fault"> <wsdl:part name="fault" element="plm-cm:Fault"/> </wsdl:message> <wsdl:message name="Get_export_data_properties_descriptors"> </wsdl:message> <wsdl:message name="Get_export_data_properties_descriptors_response"> <wsdl:part name="response" type="plm-cm:ArrayOfPLM_properties_descriptor"/> </wsdl:message> <wsdl:message name="Get_export_data_properties_descriptors_fault"> <wsdl:part name="fault" element="plm-cm:Fault"/> </wsdl:message> <wsdl:message name="Get_import_data_properties_descriptors"> </wsdl:message> <wsdl:message name="Get_import_data_properties_descriptors_response"> <wsdl:part name="response" type="plm-cm:ArrayOfPLM_properties_descriptor"/> </wsdl:message> <wsdl:message name="Get_import_data_properties_descriptors_fault"> <wsdl:part name="fault" element="plm-cm:Fault"/> </wsdl:message> Add new wsdl:operations to wsdl:portType PLM_connection_factory in WSDL in Appendix B.3 <wsdl:operation name="get_connection_properties_descriptors"> <wsdl:input message="Get_connection_properties_descriptors"/> <wsdl:output message="Get_connection_properties_descriptors_response"/> <wsdl:fault name="Get_connection_properties_descriptors_fault" message="Get_connection_properties_descriptors_fault"/> </wsdl:operation> Add new wsdl:operations to wsdl:binding "PLM_connection_factory" in WSDL in Appendix B.3 <wsdl:operation name="get_connection_properties_descriptors"> <soap:operation soapAction="" style="rpc"/> <wsdl:input> <soap:body use="literal" namespace="http://omg.org/PLMServices1-0/PLM_connection_factory#get_connection_properties_descriptors"/> </wsdl:input> <wsdl:output> <soap:body use="literal" namespace="http://omg.org/PLMServices1-0/PLM_connection_factory#get_connection_properties_descriptors"/> </wsdl:output> <wsdl:fault name="Get_connection_properties_descriptors_fault"> <soap:fault name="Get_connection_properties_descriptors_fault" use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </wsdl:fault> </wsdl:operation> Add new wsdl:operations to wsdl:portType "PLM_connection" in WSDL in appendix B.3 <wsdl:operation name="get_export_data_properties_descriptors"> <wsdl:input message="Get_export_data_properties_descriptors"/> <wsdl:output message="Get_export_data_properties_descriptors_response"/> <wsdl:fault name="Get_export_data_properties_descriptors_fault" message="Get_export_data_properties_descriptors_fault"/> </wsdl:operation> <wsdl:operation name="get_import_data_properties_descriptors"> <wsdl:input message="Get_import_data_properties_descriptors"/> <wsdl:output message="Get_import_data_properties_descriptors_response"/> <wsdl:fault name="Get_import_data_properties_descriptors_fault" message="Get_import_data_properties_descriptors_fault"/> </wsdl:operation> Add new wsdl:operations to wsdl:binding "PLM_connection in WSLD appendix B.3 <wsdl:operation name="get_export_data_properties_descriptors"> <soap:operation soapAction="" style="rpc"/> <wsdl:input> <soap:header message="Id_header" part="id" use="literal"/> <soap:header message="Signature_header" part="signature" use="literal"/> <soap:body use="literal" namespace="http://omg.org/PLMServices1-0/PLM_connection#get_export_data_properties_descriptors"/> </wsdl:input> <wsdl:output> <soap:body use="literal" namespace="http://omg.org/PLMServices1-0/PLM_connection#get_export_data_properties_descriptors"/> </wsdl:output> <wsdl:fault name="Get_export_data_properties_descriptors_fault"> <soap:fault name="Get_export_data_properties_descriptors_fault" use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="get_import_data_properties_descriptors"> <soap:operation soapAction="" style="rpc"/> <wsdl:input> <soap:header message="Id_header" part="id" use="literal"/> <soap:header message="Signature_header" part="signature" use="literal"/> <soap:body use="literal" namespace="http://omg.org/PLMServices1-0/PLM_connection#get_import_data_properties_descriptors"/> </wsdl:input> <wsdl:output> <soap:body use="literal" namespace="http://omg.org/PLMServices1-0/PLM_connection#get_import_data_properties_descriptors"/> </wsdl:output> <wsdl:fault name="Get_import_data_properties_descriptors_fault"> <soap:fault name="Get_import_data_properties_descriptors_fault" use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </wsdl:fault> </wsdl:operation> Actions taken: October 1, 2004: received issue August 1, 2005: closed issue Discussion: End of Annotations:===== te: Fri, 01 Oct 2004 15:59:49 +0200 From: Steffen Nowacki User-Agent: Thunderbird 0.6 (Windows/20040502) X-Accept-Language: de-de, de-at, de, en-us, en To: issues@omg.org Subject: issue for PLM Services 1.0 PLM Services 1.0 Document mantis/04-04-01 Revision Date 05/05/2004 Chapter 3 Page: 353 ff PropertiesDescriptors for Operations with properties parameter The Computational Viewpoint defines four Operations with parameter of type PLM_property: PLM_resource_adapter.get_connection_factory PLM_connection_factory.get_connection PLM_connection.insert PLM_connection.export The allowed values for the propeties are implementation specific. To enable an interactive client to provide its user with the actual allowed or expected property values of a connected PLM Service implementation The service should have complementary operations for each operation with properties parameter, which returns descriptors for the actual allowed or expected property value: PLM_resource_adapter.get_connection_factory_property_descriptors PLM_connection_factory.get_connection_property_descriptors PLM_connection.insert_property_descriptors PLM_connection.export_property_descriptors The descriptor for a single Property should contain: the name of the property the type of the property the description of the property an optional pattern to proove user input and a flag if the property is required With a PLM_resource_adapter.get_connection_factory_property_descriptors operation there is no more need for the PLM_resource_adapter.get_connection_factory_names. Steffen Nowacki PartMaster GmbH