Hi,

Am 17.04.2012 um 19:06 schrieb Carsten Ziegeler:

> I would be very happy if we don't add a dependency on webdav - I still
> think we should rather use Sling stuff which is the post servlet :)

So usePut would do a Sling-POST ? Or introduce another configuration element ?

Currently the default is to do a POST against the Web Console. And I think this 
is good and makes sense (even though this functionality maybe belongs to the 
Felix project)

Regards
Felix

> 
> Carsten
> 
> 2012/4/17 Felix Meschberger <[email protected]>:
>> Hi,
>> 
>> Am 10.04.2012 um 01:46 schrieb Mark Adamcin:
>> 
>>> Whatever direction this happens to go in, I don't think this should result
>>> in changing the behavior for existing maven-sling-plugin configurations
>>> that already use PUT. Instead, maybe there should just be a new config
>>> parameter like <useMkcol>true</useMkcol> that defaults to false. This would
>>> cover the most generic and widely applicable use case, which is: "I want to
>>> create a bundle project that can deploy to any repository using jcrinstall
>>> without requiring additional supporting content to have been created prior
>>> to bundle activation". If users have more granular requirements like
>>> requiring different intermediate nodetypes, then those problems have likely
>>> already been solved with other deployment scripts or packaging formats.
>> 
>> Instead of useMkcol we could also have a parameter <mkdirs> defaulting to 
>> false. If this is true and the PUT request fails with a 209 CONFLICT, the 
>> plugin would send a series of MKCOL requests to try to create the tree and 
>> the resend the PUT.
>> 
>> Of course, depending on the WebDAV setup the intermediate nodes may be 
>> created with whatever node type is configured (IIRC Sling defaults to 
>> sling:Folder).
>> 
>> Regards
>> Felix
>> 
>>> 
>>> Mark Adamcin
>>> Acquity Group
>>> 
>>> 
>>> 
>>> On Mon, Apr 9, 2012 at 4:05 PM, Justin Edelson 
>>> <[email protected]>wrote:
>>> 
>>>> Craig,
>>>> Feel free to submit an enhancement request, but personally I don't like
>>>> either of these options. I'm pretty sure MKCOL will create nt:folder nodes
>>>> and I usually prefer sling:Folder nodes for the second level under /apps.
>>>> Conversely, the Sling POST servlet can't create intermediate folders under
>>>> an nt:folder node (and I've typically seen /apps be an nt:folder) because
>>>> nt:folder doesn't define a default child node type.
>>>> 
>>>> While I agree that the current behavior is annoying at times, I don't want
>>>> to introduce an element of surprise.
>>>> 
>>>> Justin
>>>> 
>>>> On Fri, Apr 6, 2012 at 1:36 PM, Craig S. Dickson <[email protected]
>>>>> wrote:
>>>> 
>>>>> I agree with Mark and Carsten. I think from a Maven plugin perspective,
>>>>> the user should be able to "upload" a file, to just about any path they
>>>>> like. The person writing the Maven pom.xml shouldn't need to worry about
>>>>> whether the plugin is using WebDav or a Sling post or any other mechanism
>>>>> and the specifics of how that mechanism does or doesn't work.
>>>>> 
>>>>> Anyone have a strong feeling about either Mark's suggestion of doing
>>>> MKCOL
>>>>> requests at each level to make sure the path exists, or alternatively
>>>>> Carsten's suggestion of using the Sling POST servlet instead of WebDAV?
>>>>> 
>>>>> I think this is worth logging as an enhancement request, does anyone
>>>>> object?
>>>>> 
>>>>> Cheers
>>>>> 
>>>>> 
>>>>> 
>>>>> On Apr 5, 2012, at 8:14 AM, Mark Adamcin wrote:
>>>>> 
>>>>>> Couldn't the plugin be modified to add an option to use MKCOL requests
>>>> at
>>>>>> every level of the path prior to executing the PUT request?
>>>>>> 
>>>>>> Mark Adamcin
>>>>>> Acquity Group
>>>>>> On Apr 5, 2012 4:01 AM, "Carsten Ziegeler" <[email protected]>
>>>> wrote:
>>>>>> 
>>>>>>> Maybe we could do a POST and let the Post-Servlet handle this? This
>>>>>>> would be independent from WebDav then.
>>>>>>> 
>>>>>>> Carsten
>>>>>>> 
>>>>>>> 2012/4/5 Bertrand Delacretaz <[email protected]>:
>>>>>>>>> On Wed, Apr 4, 2012 at 5:16 PM, Craig S. Dickson <
>>>>>>> [email protected]>wrote:
>>>>>>>>>> ...Is PUT'ing to a
>>>>>>>>>> non-existent path not considered semantically correct from a REST
>>>>>>>>>> standpoint? Or, is this just a bug or missing feature?...
>>>>>>>> 
>>>>>>>> PUT is handled by Sling's WebDAV servlet, and
>>>>>>>> http://www.webdav.org/specs/rfc2518.html says (about MKCOL):
>>>>>>>> 
>>>>>>>> "When the MKCOL operation creates a new collection resource, all
>>>>>>>> ancestors must already exist, or the method must fail with a 409
>>>>>>>> (Conflict) status code. For example, if a request to create
>>>> collection
>>>>>>>> /a/b/c/d/ is made, and neither /a/b/ nor /a/b/c/ exists, the request
>>>>>>>> must fail."
>>>>>>>> 
>>>>>>>> The PUT section of that spec is a bit less understandable IMO:
>>>>>>>> 
>>>>>>>> "A PUT that would result in the creation of a resource without an
>>>>>>>> appropriately scoped parent collection must fail with a 409
>>>>>>>> (Conflict)."
>>>>>>>> 
>>>>>>>> but between the two it seems that 409 is correct when PUTting to a
>>>>>>>> path that doesn't exist.
>>>>>>>> 
>>>>>>>> -Bertrand
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> --
>>>>>>> Carsten Ziegeler
>>>>>>> [email protected]
>>>>>>> 
>>>>> 
>>>>> 
>>>> 
>> 
> 
> 
> 
> -- 
> Carsten Ziegeler
> [email protected]

Reply via email to