add reference syntax for main card of page

Ticket

+commit
 

 

 

 

Would this work for WQL too?


hmm, that would be really useful. implementation is separate, but I'd say we should do it.

  --Ethan McCutchen.....Sun Feb 08 09:06:09 -0800 2009


add WQL syntax for main card of page

  --John Abbe.....Tue Feb 10 01:40:13 -0800 2009


doing this will make it possible to autocomplete plus cards in context

  --John Abbe.....Thu Jan 20 22:14:59 -0800 2011


I'm not sure I agree with my feb 2009 self that implementation is all that separate. I lowered the pri on the SQL one to save attention space, but I'd imagine working on both at the same time.

  --Ethan McCutchen.....Fri Feb 18 10:21:18 -0800 2011


maybe that's what we need in tickets -- dependencies!

  --Ethan McCutchen.....Fri Feb 18 10:21:35 -0800 2011


1. I do a lot of managing relationships among tickets, some of which are dependencies. Happy to have a conversation about Wagneering.

 

2. I want this so capability so badly I can taste it. It's painful to start thinking about all of the ways I would make use of it when I know I can't do it yet!

  --John Abbe.....Fri Feb 18 13:25:40 -0800 2011


Hehe, and you noted (in 2009) on the WQL ticket that they are connected.

  --John Abbe.....Fri Feb 18 13:26:50 -0800 2011


This would enable getting rid of the "Formatted by a form card" text at the top when editing *content-controlled cards (I've objected to removing it since I use the "form" link to navigate to forms all the time, but that could be Wagneered in the sidebar with _main and +*cardtype).

  --John Abbe.....Fri Feb 25 23:22:40 -0800 2011


===========================

 

1 - Sometimes the example card http://test.dwagn.com/main_syntax_testing seems to work as expected (as main or in the sidebar), other times it shows the markup even though it's in View mode, e.g., "

[[Ticket]]

{{+status|labeled|link}}
{{+priority|labeled|link}}
{{+tags|labeled|link}}
{{+commit|labeled|link}}
 
{{+issue|titled}}

 

{{+solution|titled}}

 

{{+example|titled}}

 

{{+discussion|open; show:comment_box}}

 

{{+discussed in support tickets|titled|link}}
 
"etc. No pattern yet, will keep playing with it.

  --John Abbe.....Sat Dec 24 17:56:57 -0800 2011


When "main syntax testing" in the sidebar shows markup, closing and opening it shifts to rendering the inclusions.

  --John Abbe.....Sat Dec 24 18:09:39 -0800 2011


2 - Definitely does weird things on some special-case cards, e.g.:

http://test.dwagn.com/account/signin

  --John Abbe.....Sat Dec 24 18:16:19 -0800 2011


Aha, closing and opening fixes that too.

  --John Abbe.....Sat Dec 24 18:20:56 -0800 2011


the weirdness is all because of a failsafe I put in to prevent recursing on layout cards. I want to fix this by creating a layout type and migrating cards to it. When rendered as a normal card, the layout card won't actually render main, and in fact will probably just show escaped html. This will address the stuff above and also avoids a lot of really weird situations where there are things like head and body tags in the middle of a page.

 

(note that this ticket is still "in progress") :)

  --Ethan McCutchen.....Tue Dec 27 13:25:31 -0800 2011


OK, now that I've added and migrated the layout stuff, we should be able to test this more vigorously. Here's what I expect:

 

1. "_main" should work on any page that actually has a main card. The behavior should be the same whether there's been an ajax call or not.

2. I think for now that any reference to "_main" on a page with no main card (like sign-up cards) should be considered a misconfiguration. It's a nonsense reference. There's no special error handling for that, and I think my preference at this point would be either (a) not to build it or (b) to make it explode loudly. There are very few remaining cases where we don't have a card, and we should be able to get rid of them completely by 2.0. Of course, some of those (like the signin page) are quite important, but I think the general principle is that special _main references should not be part of *all+*layout configurations.

3. a layout should contain one and only reference to "_main" -- there should be just one main slot on the page. The obvious case where you'd want an exception is to refer to the name of the main card somewhere on the sidebar, like

[[Ticket]]

{{+status|labeled|link}}
{{+priority|labeled|link}}
{{+tags|labeled|link}}
{{+commit|labeled|link}}
 
{{+issue|titled}}

 

{{+solution|titled}}

 

{{+example|titled}}

 

{{+discussion|open; show:comment_box}}

 

{{+discussed in support tickets|titled|link}}
 
. I haven't tested this, but I think that should still be ok so long as we don't use the exact name "_main" but something else with the same key, like "_MAIN" or "_main#$%". Once we have validations, we should probably check this whenever someone saves a layout card. If we get a validation list going, let's add it there.

  --Ethan McCutchen.....Wed Jan 04 09:38:04 -0800 2012


Regarding 2, http://test.dwagn.com/account/signin - the sidebar looks as if some other card (one that I've looked at recently - it changes!) were _main.

 

Regarding 3, the sidebar seems to work with repeated _main inclusions using different views. The sidebar is an easy workaround for this "restriction".

  --John Abbe.....Fri Jan 06 02:01:59 -0800 2012


it looks like #2 is just going to have slightly weird behavior for now. I made it so it reliably treats "_main" as the including card, but there's not a simple reliable way to raise an error without breaking a lot more than we want to, and the point should be moot soon anyways.

  --Ethan McCutchen.....Fri Jan 06 14:37:16 -0800 2012


Banged on http://test.dwagn.com/main_syntax_testing and combinations of open/close, submit, cancel, delete, and even restore (clicking edit when the card doesn't exist works!).

  --John Abbe.....Wed Feb 01 13:44:17 -0800 2012


nice. guess we'll close and add tickets if new problems arise.

  --Ethan McCutchen.....Wed Feb 01 16:28:26 -0800 2012