Re: Changes to tag and rest controllers
Shad Laws <shad-xpYdmXCiSuZWk0Htik3J/[email protected]> Mon, 20 May 2013 18:07:14 +0200
| Newsgroups | gmane.comp.web.gallery.devel |
|---|---|
| Message-ID | <CA+z51A6JxVtxHL=uezgeOgU4VkxAc0R5X4kt7_u-=vst5xUvsA@mail.gmail.com> |
--===============6896907559642149538== Content-Type: multipart/alternative; boundary=001a11c36944e0d9c204dd28878f --001a11c36944e0d9c204dd28878f Content-Type: text/plain; charset=UTF-8 Hey everyone, Bharat - thanks so much for taking the time to reply under such duress. Best of luck escaping from that hostile, difficult environment ;-) I think multi-tags are fantastic, and seem pretty straightforward to code up and to explain in UI, but there's one wrinkle: it makes it a bit harder to maintain 3.0.x compatibility. Before, we could use the existence of a slash as a semaphore for whether or not it's a 3.0.x URL, but now we can't. Some possibilities: - use a different route. For example, instead of "tag/foo/bar" use "tags/multi/foo/bar" or "multitag/foo/bar". - drop 3.0.x compatibility. The links to tag clouds are the same, and they'd be automatically updated with the new URLs, so I'd think that there likely aren't too many hard-coded tag links lying around. - add an admin option to select "3.0.x compat" mode, "multi-tag" mode, or "none". Thoughts? Shad On 19 May 2013 19:36, Bharat Mediratta <[email protected]> wrote: > I vote for multi tags - it looks simpler and will probably satisfy most > users. > > Sent from my lounge chair on a tiny island in Lake Nicaragua :-) > On May 19, 2013 11:10 AM, "Dave Moore" <[email protected]> wrote: > >> Just a fyi that you can kill a couple of tickets and I'm sure there is >> a few more requests in the forums: >> http://galleryproject.org/node/100026 >> http://sourceforge.net/apps/trac/gallery/ticket/333 >> http://sourceforge.net/apps/trac/gallery/ticket/1152 >> and a bit more complex: >> http://sourceforge.net/apps/trac/gallery/ticket/1326 >> >> I like the idea of finding multi tags as a first enhancement. >> >> Dave >> >> On 2013-05-17 10:39 AM, Shad Laws wrote: >> >> Hmm... good question. >> >> My first inclination isn't to make a hierarchy, but rather an extra >> cross-reference. For example, "gallery/tag/me/you" would find photos >> tagged with both me and you. Thoughts? >> >> Take care, >> Shad >> >> >> On 17 May 2013 17:56, Chad Kieffer <[email protected]> wrote: >> >>> Although tags are strictly flat now, how might hierarchical structures >>> be routed in the future? I think even if support for taxonomies isn't part >>> of G3 now, it might be worth considering as part of this discussion. >>> >>> - Chad >>> >>> On May 17, 2013, at 9:15 AM, Shad Laws <shad-xpYdmXCiSuZWk0Htik3J/[email protected]> wrote: >>> >>> Hmm... I'm not sure I agree. For example, this would make folks with >>> photos about 90210, 356, and 1776 really annoyed at the new system. The >>> simplest rule is the one we don't need :-) >>> >>> My preference is this: >>> - make the new system simple, flexible, and exactly what we want. >>> - provide enough redirects for old URLs to keep most old sites happy >>> during the conversion. >>> >>> Thinking again, there's actually a better rule we can use to deal with >>> old redirects: >>> gallery30x/tag/123/321 --> tag id 123 (which coincidentally has name >>> 321, but this isn't checked) - old canonical URL >>> gallery31x/tag/123/321 --> tag id 123, name 321 (sees slash and tries >>> this), then 301 redirect. >>> gallery31x/tag/123 --> tag name 123, or if none exists, look for a tag >>> id 123 and 301 redirect. >>> gallery31x/tag/321 --> tag name 321 (which coincidentally has id 123, >>> but this isn't checked) - new canonical URL >>> >>> The only oddball case here is old URLs that were truncated *and* >>> coincide with new URLs, for which I don't think we should break our new >>> system to support... >>> >>> Take care, >>> Shad >>> >>> >>> >>> On 17 May 2013 17:06, Bharat Mediratta <[email protected]> wrote: >>> >>>> >>>> I'd prefer to have a simpler rule of "no numeric tag slugs" because >>>> that way we'll have consistent behavior in all cases. I like simple rules >>>> :-) >>>> >>>> >>>> On Fri, May 17, 2013 at 7:55 AM, Shad Laws <shad-xpYdmXCiSuZWk0Htik3J/[email protected]> wrote: >>>> >>>>> Yah, that's easy enough to keep. Just as you said, the only slight >>>>> wrinkle is numeric tag names, but even then we don't need to *enforce* that >>>>> slugs are non-numeric. Rather, we just can't forward old URLs that >>>>> coincide with new URLs of numeric tags. >>>>> >>>>> For example: >>>>> gallery30x/tag/123 --> tag id 123. >>>>> gallery31x/tag/123 --> tag name 123, or if none exists, look for a tag >>>>> id 123 and 301 redirect. >>>>> >>>>> Take care, >>>>> Shad >>>>> >>>>> >>>>> On 17 May 2013 16:42, Bharat Mediratta <[email protected]> wrote: >>>>> >>>>>> >>>>>> Keeping around support for tag/<id> shouldn't be too hard, right? It >>>>>> just means that the user-defined slug can't be purely numeric to avoid >>>>>> conflicts. >>>>>> >>>>>> >>>>>> On Fri, May 17, 2013 at 6:34 AM, Dave Moore <[email protected]>wrote: >>>>>> >>>>>>> On 2013-05-15 8:29 PM, Bharat wrote: >>>>>>> > The tag/<id>/<name> approach was essentially a fix because >>>>>>> originally >>>>>>> > we did tag/<name> but that was causing problems when we tried to >>>>>>> map a >>>>>>> > slugified tag name in the url back into a tag in the database. >>>>>>> That has been some concern for me and for others as well. I would >>>>>>> be >>>>>>> nice if we could get to: /tag/<name> without the <id> in the url. If >>>>>>> that could be sorted out then that would make some/lots users/me >>>>>>> happy. >>>>>>> I don't know about backwards compatibility with tag/<id>/<name> is >>>>>>> required or not. I guess it depends on the amount of work required. >>>>>>> I >>>>>>> guess it would be good or if some workaround in the .htaccess could >>>>>>> be >>>>>>> provided as a fix, that would work as well. >>>>>>> >>>>>>> Dave >>>>>>> >>>>>>> >>>>>>> ------------------------------------------------------------------------------ >>>>>>> AlienVault Unified Security Management (USM) platform delivers >>>>>>> complete >>>>>>> security visibility with the essential security capabilities. Easily >>>>>>> and >>>>>>> efficiently configure, manage, and operate all of your security >>>>>>> controls >>>>>>> from a single console and one unified framework. Download a free >>>>>>> trial. >>>>>>> http://p.sf.net/sfu/alienvault_d2d >>>>>>> __[ g a l l e r y - d e v e l ]_________________________ >>>>>>> >>>>>>> [ list info/archive --> http://gallery.sf.net/lists.php ] >>>>>>> [ gallery info/FAQ/download --> http://gallery.sf.net ] >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> ------------------------------------------------------------------------------ >>>>>> AlienVault Unified Security Management (USM) platform delivers >>>>>> complete >>>>>> security visibility with the essential security capabilities. Easily >>>>>> and >>>>>> efficiently configure, manage, and operate all of your security >>>>>> controls >>>>>> from a single console and one unified framework. Download a free >>>>>> trial. >>>>>> http://p.sf.net/sfu/alienvault_d2d >>>>>> __[ g a l l e r y - d e v e l ]_________________________ >>>>>> >>>>>> [ list info/archive --> http://gallery.sf.net/lists.php ] >>>>>> [ gallery info/FAQ/download --> http://gallery.sf.net ] >>>>>> >>>>> >>>>> >>>> >>> >>> ------------------------------------------------------------------------------ >>> AlienVault Unified Security Management (USM) platform delivers complete >>> security visibility with the essential security capabilities. Easily and >>> efficiently configure, manage, and operate all of your security controls >>> from a single console and one unified framework. Download a free trial. >>> http://p.sf.net/sfu/alienvault_d2d >>> >>> __[ g a l l e r y - d e v e l ]_________________________ >>> >>> [ list info/archive --> http://gallery.sf.net/lists.php ] >>> [ gallery info/FAQ/download --> http://gallery.sf.net ] >>> >>> >> >> >> >> ------------------------------------------------------------------------------ >> AlienVault Unified Security Management (USM) platform delivers complete >> security visibility with the essential security capabilities. Easily and >> efficiently configure, manage, and operate all of your security controls >> from a single console and one unified framework. Download a free trial. >> http://p.sf.net/sfu/alienvault_d2d >> __[ g a l l e r y - d e v e l ]_________________________ >> >> [ list info/archive --> http://gallery.sf.net/lists.php ] >> [ gallery info/FAQ/download --> http://gallery.sf.net ] >> > --001a11c36944e0d9c204dd28878f Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Hey everyone,<div><br></div><div>Bharat - thanks so much f= or taking the time to reply under such duress. =C2=A0Best of luck escaping = from that hostile, difficult environment ;-)</div><div><br></div><div style= >I think multi-tags are fantastic, and seem pretty straightforward to code = up and to explain in UI, but there's one wrinkle: it makes it a bit har= der to maintain 3.0.x compatibility. =C2=A0Before, we could use the existen= ce of a slash as a semaphore for whether or not it's a 3.0.x URL, but n= ow we can't.</div> <div style><br></div><div style>Some possibilities:</div><div style>- use a= different route. =C2=A0For example, instead of "tag/foo/bar" use= "tags/multi/foo/bar" or "multitag/foo/bar".</div><div = style> - drop 3.0.x compatibility. =C2=A0The links to tag clouds are the same, and= they'd be automatically updated with the new URLs, so I'd think th= at there likely aren't too many hard-coded tag links lying around.</div= > <div style>- add an admin option to select "3.0.x compat" mode, &= quot;multi-tag" mode, or "none".</div><div style><br></div><= div style>Thoughts?</div><div style><br></div><div style>Shad</div><div sty= le> <br></div><div style><br></div><div style><br></div><div style><br></div><d= iv style><br></div></div><div class=3D"gmail_extra"><br><br><div class=3D"g= mail_quote">On 19 May 2013 19:36, Bharat Mediratta <span dir=3D"ltr"><<a= href=3D"mailto:[email protected]" target=3D"_blank">[email protected]</a= >></span> wrote:<br> <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p= x #ccc solid;padding-left:1ex"><p dir=3D"ltr">I vote for multi tags - it lo= oks simpler and will probably satisfy most users.</p> <p dir=3D"ltr">Sent from my lounge chair on a tiny island in Lake Nicaragua= :-)</p> <div class=3D"gmail_quote">On May 19, 2013 11:10 AM, "Dave Moore"= <<a href=3D"mailto:[email protected]" target=3D"_blank">dave@langleyc= om.com</a>> wrote:<br type=3D"attribution"><blockquote class=3D"gmail_qu= ote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex= "> =20 =20 =20 <div text=3D"#000000" bgcolor=3D"#FFFFFF"> <div>Just a fyi that you can kill a couple of tickets and I'm sure there is a few more requests in the forums:<br> <a href=3D"http://galleryproject.org/node/100026" target=3D"_blank">h= ttp://galleryproject.org/node/100026</a><br> <a href=3D"http://sourceforge.net/apps/trac/gallery/ticket/333" targe= t=3D"_blank">http://sourceforge.net/apps/trac/gallery/ticket/333</a><br> <a href=3D"http://sourceforge.net/apps/trac/gallery/ticket/1152" targ= et=3D"_blank">http://sourceforge.net/apps/trac/gallery/ticket/1152</a><br> and a bit more complex: <a href=3D"http://sourceforge.net/apps/trac/gallery/ticket/1326" targ= et=3D"_blank">http://sourceforge.net/apps/trac/gallery/ticket/1326</a><br> <br> I like the idea of finding multi tags as a first enhancement.<br> <br> Dave<br> <br> On 2013-05-17 10:39 AM, Shad Laws wrote:<br> </div> <blockquote type=3D"cite"> <div dir=3D"ltr">Hmm... good question. <div><br> </div> <div>My first inclination isn't to make a hierarchy, but rather an extra cross-reference. =C2=A0For example, "gallery/tag/me= /you" would find photos tagged with both me and you. =C2=A0Thoughts? <div> <br> </div> <div>Take care,</div> <div>Shad</div> </div> </div> <div class=3D"gmail_extra"><br> <br> <div class=3D"gmail_quote">On 17 May 2013 17:56, Chad Kieffer <span= dir=3D"ltr"><<a href=3D"mailto:[email protected]" target=3D"_blank">chad@2= tbsp.com</a>></span> wrote:<br> <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bord= er-left:1px #ccc solid;padding-left:1ex"> <div dir=3D"auto"> <div>Although tags are strictly flat now, how might hierarchical structures be routed in the future? I think even if support for taxonomies isn't part of G3 now, it might be worth considering as part of this discussion.</div= > <div><br> </div> <div>- Chad</div> <div><br> On May 17, 2013, at 9:15 AM, Shad Laws <<a href=3D"mailt= o:shad-xpYdmXCiSuZWk0Htik3J/[email protected]" target=3D"_blank">shad-xpYdmXCiSuZWk0Htik3J/[email protected]</a>> wrote:<br> <br> </div> <blockquote type=3D"cite"> <div> <div dir=3D"ltr"> Hmm... I'm not sure I agree. =C2=A0For example, thi= s would make folks with photos about 90210, 356, and 1776 really annoyed at the new system. =C2=A0The simple= st rule is the one we don't need :-) <div><br> </div> <div>My preference is this:</div> <div>- make the new system simple, flexible, and exactly what we want.</div> <div>- provide enough redirects for old URLs to keep most old sites happy during the conversion.</div> <div><br> </div> <div>Thinking again, there's actually a better rule we can use to deal with old redirects:</div> <div> <div style=3D"font-family:arial,sans-serif;font-size:= 13px">gallery30x/tag/123/321 --> tag id 123 (which coincidentally has name 321, but this isn't checked) - old canonical UR= L</div> <div style=3D"font-size:13px;font-family:arial,sans-s= erif">gallery31x/tag/123/321 --> tag id 123, name 321 (sees slash and tries this), then 301 redirect.</div> <div style=3D"font-family:arial,sans-serif;font-size:= 13px">gallery31x/tag/123 --> tag name 123, or if none exists, look for a tag id 123 and 301 redirect.</div> <div style=3D"font-family:arial,sans-serif;font-size:= 13px">gallery31x/tag/321 --> tag name 321 (which coincidentally has id 123, but this isn't checked) - new canonical UR= L</div> <div style=3D"font-family:arial,sans-serif;font-size:= 13px"> <br> </div> <div style=3D"font-family:arial,sans-serif;font-size:= 13px">The only oddball case here is old URLs that were truncated *and* coincide with new URLs, for which I don't think we should break our new system to support...</div> <div style=3D"font-family:arial,sans-serif;font-size:= 13px"><br> </div> <div style=3D"font-family:arial,sans-serif;font-size:= 13px">Take care,</div> <div style=3D"font-family:arial,sans-serif;font-size:= 13px">Shad</div> <div style=3D"font-family:arial,sans-serif;font-size:= 13px"> <br> </div> </div> </div> <div class=3D"gmail_extra"><br> <br> <div class=3D"gmail_quote">On 17 May 2013 17:06, Bharat Mediratta <span dir=3D"ltr"><<a href=3D"mai= lto:[email protected]" target=3D"_blank">[email protected]</a>></span> wrote:<br> <blockquote class=3D"gmail_quote" style=3D"margin:0 0= 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <div dir=3D"ltr"><br> <div>I'd prefer to have a simpler rule of &qu= ot;no numeric tag slugs" because that way we'= ;ll have consistent behavior in all cases. =C2=A0I like simple rules :-)</div> </div> <div class=3D"gmail_extra"> <br> <br> <div class=3D"gmail_quote">On Fri, May 17, 2013 at 7:55 AM, Shad Laws <span dir=3D"ltr"><<a = href=3D"mailto:shad-xpYdmXCiSuZWk0Htik3J/[email protected]" target=3D"_blank">shad-xpYdmXCiSuZWk0Htik3J/[email protected]</a>&g= t;</span> wrote:<br> <blockquote class=3D"gmail_quote" style=3D"marg= in:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <div dir=3D"ltr">Yah, that's easy enough = to keep. =C2=A0Just as you said, the only slig= ht wrinkle is numeric tag names, but even then we don't need to *enforce* that slugs are non-numeric. =C2=A0Rather, we jus= t can't forward old URLs that coincide with new URLs of numeric tags. <div> <br> </div> <div>For example:</div> <div>gallery30x/tag/123 --> tag id 123.</div> <div>gallery31x/tag/123 --> tag name 123, or if none exists, look for a tag id 123 and 301 redirect.</div> <div><br> </div> <div>Take care,</div> <div>Shad</div> </div> <div> <div> <div class=3D"gmail_extra"><br> <br> <div class=3D"gmail_quote">On 17 May 2013 16:42, Bharat Mediratta <span di= r=3D"ltr"><<a href=3D"mailto:[email protected]" target=3D"_blank">bhara= [email protected]</a>></span> wrote:<br> <blockquote class=3D"gmail_quote" sty= le=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <div dir=3D"ltr"><br> <div>Keeping around support for tag/<id> shouldn'= t be too hard, right? =C2=A0It ju= st means that the user-defined slug can't be purely numeri= c to avoid conflicts.</div> </div> <div class=3D"gmail_extra"> <br> <br> <div class=3D"gmail_quote">On Fri, May 17, 2013 at 6:34 AM, Dave Moore <span dir=3D"ltr= "><<a href=3D"mailto:[email protected]" target=3D"_blank">dave@langley= com.com</a>></span> wrote:<br> <blockquote class=3D"gmail_quot= e" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <div>On 2013-05-15 8:29 PM, Bharat wrote:<br> > =C2=A0The tag/<id>/<name> approach was essentially a fix because originally<br= > > we did tag/<name> but that was causing problems when we tried to map a<br> > slugified tag name in the url back into a tag in the database.<br> </div> That has been some concern for me and for others as well. =C2=A0I would be<br> nice if we could get to: /tag/<name> without the <id> in the url. =C2=A0If<br> that could be sorted out then that would make some/lots users/me happy.<br> I don't know about backwards compatibility with tag/<id>/<name> is<br> required or not. I guess it depends on the amount of work required. =C2=A0I<br> guess it would be good or if some workaround in the .htaccess could be<br> provided as a fix, that would work as well.<br> <span><font color=3D"#888888"= ><br> Dave<br> </font></span> <div> <div><br> ---------------------------------------------------------------------------= ---<br> AlienVault Unified Security Management (USM) platform delivers complete<br> security visibility with the essential security capabilities. Easily and<br> efficiently configure, manage, and operate all of your security controls<br> from a single console and one unified framework. Download a free trial.<br> <a href=3D"http://p.sf.ne= t/sfu/alienvault_d2d" target=3D"_blank">http://p.sf.net/sfu/alienvault_d2d<= /a><br> __[ g a l l e r y - d e v e l ]________________________= _<br> <br> [ list info/archive --> <a href=3D"http://= gallery.sf.net/lists.php" target=3D"_blank">http://gallery.sf.net/lists.php= </a> ]<br> [ gallery info/FAQ/download --> <a href=3D"http://= gallery.sf.net" target=3D"_blank">http://gallery.sf.net</a> ]<br> <br> </div> </div> </blockquote> </div> <br> </div> <br> ---------------------------------------------------------------------------= ---<br> AlienVault Unified Security Management (USM) platform delivers complete<br> security visibility with the essential security capabilities. Easily and<br> efficiently configure, manage, and operate all of your security controls<br> from a single console and one unified framework. Download a free trial.<br> <a href=3D"http://p.sf.net/sfu/alie= nvault_d2d" target=3D"_blank">http://p.sf.net/sfu/alienvault_d2d</a><br> __[ g a l l e r y - d e v e l ]_________________________<br> <br> [ list info/archive --> <a href= =3D"http://gallery.sf.net/lists.php" target=3D"_blank">http://gallery.sf.ne= t/lists.php</a> ]<br> [ gallery info/FAQ/download --> <a href=3D"http://gallery.sf= .net" target=3D"_blank">http://gallery.sf.net</a> ]<br> </blockquote> </div> <br> </div> </div> </div> </blockquote> </div> <br> </div> </blockquote> </div> <br> </div> </div> </blockquote> <blockquote type=3D"cite"> <div><span>------------------------------------------------= ------------------------------</span><br> <span>AlienVault Unified Security Management (USM) platform delivers complete</span><br> <span>security visibility with the essential security capabilities. Easily and</span><br> <span>efficiently configure, manage, and operate all of your security controls</span><br> <span>from a single console and one unified framework. Download a free trial.</span><br> <span><a href=3D"http://p.sf.net/sfu/alienvault_d2d" targ= et=3D"_blank">http://p.sf.net/sfu/alienvault_d2d</a></span></div> </blockquote> <blockquote type=3D"cite"> <div><span>__[ g a l l e r y - d e v e l ]_________________________</span><br> <span></span><br> <span>[ list info/archive --> <a href=3D"http://galler= y.sf.net/lists.php" target=3D"_blank">http://gallery.sf.net/lists.php</a> ]</span><br> <span>[ gallery info/FAQ/download --> <a href=3D"http:= //gallery.sf.net" target=3D"_blank">http://gallery.sf.net</a> ]</span></div> </blockquote> </div> </blockquote> </div> <br> </div> </blockquote> <br> </div> <br>-----------------------------------------------------------------------= -------<br> AlienVault Unified Security Management (USM) platform delivers complete<br> security visibility with the essential security capabilities. Easily and<br= > efficiently configure, manage, and operate all of your security controls<br= > from a single console and one unified framework. Download a free trial.<br> <a href=3D"http://p.sf.net/sfu/alienvault_d2d" target=3D"_blank">http://p.s= f.net/sfu/alienvault_d2d</a><br>__[ g a l l e r y - d e v e l ]____________= _____________<br> <br> [ list info/archive --> <a href=3D"http://gallery.sf.net/lists.php" targ= et=3D"_blank">http://gallery.sf.net/lists.php</a> ]<br> [ gallery info/FAQ/download --> <a href=3D"http://gallery.sf.net" target= =3D"_blank">http://gallery.sf.net</a> ]<br></blockquote></div> </blockquote></div><br></div> --001a11c36944e0d9c204dd28878f-- --===============6896907559642149538== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------------ AlienVault Unified Security Management (USM) platform delivers complete security visibility with the essential security capabilities. Easily and efficiently configure, manage, and operate all of your security controls from a single console and one unified framework. Download a free trial. http://p.sf.net/sfu/alienvault_d2d --===============6896907559642149538== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline __[ g a l l e r y - d e v e l ]_________________________ [ list info/archive --> http://gallery.sf.net/lists.php ] [ gallery info/FAQ/download --> http://gallery.sf.net ] --===============6896907559642149538==--