Metadata
- Source
- FLUID-4187
- Type
- New Feature
- Priority
- Major
- Status
- Closed
- Resolution
- Fixed
- Assignee
- Justin Obara
- Reporter
- Antranig Basman
- Created
2011-04-18T18:45:01.193-0400 - Updated
2015-04-05T15:42:34.331-0400 - Versions
-
- 1.3.1
- Fixed Versions
-
- 1.5
- Component
-
- IoC System
Description
This was supplied in an ad hoc "monkey patching" form for the 1.3.1 release. For 1.4 we require to be able to do this in an IoC-driven way, allowing the reimplemented version of the Uploader component to accept options which are in the format used for previous releases. This feature implementation needs to interact in a detailed way with both the IoC and options merging systems. In particular, the options to be transformed in the merge chain are all of those EXCEPT for the component's own defaults, which are presumably supplied by the same implementor as the implementation. Options supplied directly by the user and contributed via demands blocks potentially need to be transformed. Also, the resolution of the required version number needs to be IoC driven - it should be possible to achieve the effect of "scoping" the directive for options transformation using the possibilities available for IoC scopes. This requires an improvement to the IoC system itself in the form of "tag groups" - it should be possible to direct that a group of tag names (type names) form part of a mutually exclusive group for resolution purposes, with the first one seen able to pre-empt resolution of the others - this will prevent indeterminism in the case that multiple version directives are seen in the same scope.
Comments
-
Harris Wong commented
2011-05-30T15:54:28.754-0400 Related to json2 removal. https://github.com/fluid-project/infusion/commit/3e45b80f11b88b3b42982c50f23c7eafa3d1244a
-
Antranig Basman commented
2013-05-25T04:54:32.296-0400 Some basic support was delivered for this in the 1.4 release, with successive improvements continuing to the point of FLUID-4330 where we now have a system where the "transformOptions" block can be both IoC and options-delivered - current showcase implementation is in UploaderCompatibilityTests.js . The system referred to as "tag groups" was implemented as FLUID-4917 under the name of "demands block horizons"