Dependent Picklist list items must be maintained in order from SalesForce.

Bug #269119 reported by Ray C Horn
2
Affects Status Importance Assigned to Milestone
pyax
New
Undecided
Unassigned

Bug Description

See also: https://answers.launchpad.net/pyax/+question/44867

The validFor field is supposed to unpack into a specific bit-array that maps the controller's picklist to the dependent picklist item for each validFor value (one per dependent picklist item).

Presently pyax uses a dictionary object however it is unlikely pyax is using a dictionary variant that knows how to return the ordering of the picklist items as they appeared in SalesForce as required by the functionality of the validFor field.

In my humble opinion, this is one area SalesForce would like to keep as proprietary as possible because the folks at SalesForce will not support any languages for the validFor field other than Java and they specifically do not want to support Python or Flex in this regard.

Additionally one extra field should be added to pyax that provides the unpacked bit-array for the validFor entity - presently the value being supplied for this entity does not unpack into what should be the proper array of bits due to some sort of encoding technique Java seems to understand and deal with but Python does not understand nor deal with as easily.

Does pyax encode the validFor entity using some base64 coding technique ? If so, pyax should reverse that process when returning data to the application.

Revision history for this message
Kevin Shuk (surf) wrote :

Created a test case to confirm/investigate.

Pyax does not apply base64 encoding to this field. It is a bit map being coerced to string therefore when printed as a string will appear as gibberish.

Will need to investigate using odict for picklist items to preserve order.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.