On Mon, Nov 16, 2015 at 5:03 PM, [email protected] <[email protected]> wrote:
> Hi Edy, > > On 16 Nov 2015 at 15:56:09, Eduard Moraru ([email protected](mailto: > [email protected])) wrote: > > > Just a note (not saying we should not do it) about dumping serialized > > attachment references straight to the URL is that the "@" character might > > be a bit problematic, since it already has a role in the HTTP > > authentication URL format. > > What specific issue do you see since it would be URL-encoded ofc? > Ah, right. We will have '%40' (escaped '@') in every such URL, but it's not that big of a thing. Some devs might forget to escape it if they happen to build it by hand, but again, minor stuff. Thanks, Eduard > > > Another (simplistic) idea would be to use some sort of separator to > > distinguish the attachment reference part from the zip path inside the > > URL's path. > > > > Possible separators might be > > - e.g. '~', suggested by Marius (/something.zip/~/path/inside/zip/file) > > - more complex keywords e.g. 'vfsContent' or whatever > > (/something.zip/vfsContent/path/inside/zip/file) > > - empty path element (/something.zip//path/inside/zip/file) > > -- this has the benefit that an empty entity can not exist, so no > conflict > > -- the downside is that multiple slashes might be handled inconsistently > by > > either browsers or web/application servers so it may not be a reliable > > option. Also, relative paths might behave unexpectedly when combined with > > empty path elements. > > > > The main issue with the separator is that you need to perform 1-2 > > additional DB queries to make sure it was not a reference to a page > (space) > > having the same name as 'separator' inside an 'attachmentName.zip' space > so > > this case would have to be handled properly. > > The only way to avoid this would be to blacklist the separator from being > > used as entity name, but I don`t think we want to do that and we > currently > > don`t have blacklisted characters (or keywords) in entity names. > > Indeed. > > Thanks > -Vincent > > > Thanks, > > Eduard > > > > On Mon, Nov 16, 2015 at 11:23 AM, [email protected] > > wrote: > > > > > > > > > > > > > > > > > > > > On 16 Nov 2015 at 09:57:24, Marius Dumitru Florea ( > > > [email protected](mailto:[email protected])) > > > wrote: > > > > > > > On Fri, Nov 13, 2015 at 8:19 PM, [email protected] > > > > wrote: > > > > > > > > > Hi Edy, > > > > > > > > > > On 13 Nov 2015 at 19:06:33, Eduard Moraru ([email protected] > > > (mailto: > > > > > [email protected])) wrote: > > > > > > > > > > > Hi, > > > > > > > > > > > > About the URL format, why not implement it as a REST extension > of the > > > > > > /attachment/ resource? > > > > > > > > > > > > Maybe .../attachments/{attachmentName}/zipExplorer/{zipPath} or > > > something > > > > > > like that. > > > > > > > > > > That’s a good generic remark: we need to decide what to do going > > > forward > > > > > between REST-module type of URLs and Action-module type of URLs. > > > > > > > > > > Ideally I think we would use the following strategy: > > > > > * For human-readable URLs: use the Action-module type > > > > > * For programmatic URLs (get, webjars, zip, etc): use the > REST-module > > > type > > > > > > > > > > However, right now the Action-module type (Resource module to be > > > precise) > > > > > are much more powerful than the REST ones (see > > > > > http://design.xwiki.org/xwiki/bin/view/Design/ActionModule). For > > > example > > > > > you can execute action after others, or before or replacing them. > You > > > vzn > > > > > register new actions dynamically in Extensions (which is not > possible > > > as > > > > > REST components ATM). etc. > > > > > > > > > > So while I agree with you in general, I wouldn’t want to do this > now > > > for > > > > > the zip module because of this. > > > > > > > > > > Now, we shouldn’t care too much about this since it’s only > > > implementation > > > > > details. What we should care about is the URL format. > > > > > > > > > > Right now the format I’m proposing is: > > > > > > > > > > > > > > > > > > > .../zip/space1.space2.page@attachment/path/inside/zi > > > > > > > > > > > > > Be careful with putting the serialized (attachment) reference in the > URL. > > > > Special characters are escaped in the reference using \ (backslash) > which > > > > may cause problems even when URL encoded (e.g. for Tomcat). See > > > > > > > > http://jira.xwiki.org/browse/XWIKI-11528?focusedCommentId=84410&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-84410 > > > > > > Thanks Marius for raising this: I’ve sent a mail on this topic: > > > http://markmail.org/message/ft3245cbq4ehedct > > > > > > However this issue is more global than for this use case and it should > be > > > fixed globally. I don’t think it should affect too much this > discussion. > > > > > > Thanks > > > -Vincent > > > > > > > Thanks, > > > > Marius > > > > > > > > > > > > > > > > > > Following your suggestion would lead to something like (of course > if we > > > > > were using the REST module we wouldn’t have the “zip” action): > > > > > > > > > > > > > > > > > > > …/zip/wikis/wiki/spaces/space1/spaces/space2/pages/page/attachments/attachment/zippath/some/file/in/zip > > > > > > > > > > I’m not sure which one is best. All I know is that I find this > later > > > > > format to be very verbose. But this is the case for our REST format > > > ATM. > > > > > > > > > > We could imagine supporting an alternate RESTful format like: > > > > > > > > > > /rest/reference/space1.space2.page@attachment > /zippath/some/file/in/zip > > > > > > > > > > So taking all this into account, at this point in time, I think I > > > prefer > > > > > my proposal so far. > > > > > > > > > > WDYT? > > > > > > > > > > I also agree that we should clarify our strategy and have some > action > > > plan > > > > > to improve the REST module to make it really component-based and > merge > > > it > > > > > with the Resource/URL modules. > > > > > > > > > > Thanks and have a great weekend! :) > > > > > -Vincent > > > > > > > > > > > Thanks, > > > > > > Eduard > > > > > > > > > > > > On Fri, Nov 13, 2015 at 5:08 PM, [email protected] > > > > > > wrote: > > > > > > > > > > > > > Hi devs, > > > > > > > > > > > > > > Following the need to support Nested Spaces in the Zip Explorer > > > plugin > > > > > > > (see http://jira.xwiki.org/browse/XWIKI-12448) I think it’s > time > > > to > > > > > bite > > > > > > > the bullet and reimplement the feature using components ( > > > > > > > http://jira.xwiki.org/browse/XWIKI-12815). > > > > > > > > > > > > > > I’ve started a design page at > > > > > > > > > > http://design.xwiki.org/xwiki/bin/view/Proposal/ZipExplorerComponent > > > > > > > > > > > > > > I’m especially interested in ensuring that I have all use cases > > > taken > > > > > into > > > > > > > account. > > > > > > > > > > > > > > Could you have a quick look and see whether it looks fine or > not? > > > > > > > > > > > > > > I’m also interested in any feedback on the URL format + API. > > > > > > > > > > > > > > Thanks a lot > > > > > > > -Vincent > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs > _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

