#105 ✓resolved
Brian R Zaik

Make partials system for new content cells based on older split-view design

Reported by Brian R Zaik | August 16th, 2010 @ 08:36 PM

Work the same magic you used before for the split-view partials, only this time for the new content cells with sidebars. You can find examples of usage in screens/new, groups/new, contents/new, and contents/index. Let me know if you need any questions answered. This should be as modular and reusable as possible throughout the app.

Comments and changes to this ticket

  • Brian Michalski

    Brian Michalski August 17th, 2010 @ 01:32 PM

    • State changed from “new” to “resolved”
  • Brian Michalski

    Brian Michalski August 17th, 2010 @ 01:36 PM

    I need to update the documentation to reflect use of the content_for blocks but I converted all of your example pages to show how it works.

    Is the modal box (content#new) going to be widely used / is content regularly going to be placed above the div.C-full? I need to know if that page should always be a special case or if we'll have more like that.

  • Brian R Zaik

    Brian R Zaik August 17th, 2010 @ 02:05 PM

    Actually, Brian, here's how content#new is supposed to work: the user first sees the modal selector (MS) to select a content type. Then we take that selection to load the appropriate form partial. If the user clicks the Back button from that form (which is attached to the content cell), we return them to the MS to select a different type of content. They should never be together on the same page - I only did that to illustrate how they should look before you split them up.

    With that said, here's where it might get tricksy: I could see some cases in which multiple content cells appear on the same page. If possible, I'd like to have the ability to have multiple content cells - with sidebars, perhaps - on the same page. But I understand that loading multiple sets of partials may not work well, so I'm willing to think of other ways around this. But for example, the new dashboard is going to have multiple content areas that layer on top of one another. If we could do all that with content cells in the current design, that would be ideal.

  • Brian Michalski

    Brian Michalski August 17th, 2010 @ 03:04 PM

    • State changed from “resolved” to “open”

    Ok, I think I have an idea where I need to go.

    I'm going to do some work to fix up content#new and during that process I think I can cook up something modular enough to have multiple div.C-full elements on a page (which I think is called content cells).

  • Brian R Zaik

    Brian R Zaik August 17th, 2010 @ 03:06 PM

    Sounds good. You should have all the CSS you need in base.css, but let me know if you need anything from me. And yes, div class="C-full" is the "full" content cell wrapper.

  • Brian Michalski

    Brian Michalski August 17th, 2010 @ 07:03 PM

    • State changed from “open” to “resolved”

    (from [be0439ef884534a04adade35c1b0fe5ec39ed5a9]) Another attempt at a modular system to build things. I call this system "HTML5". See lighthouse for more details. [#105 state:resolved] http://github.com/wtg/concerto/commit/be0439ef884534a04adade35c1b0f...

  • Brian Michalski

    Brian Michalski August 17th, 2010 @ 07:13 PM

    I don't think it is going to be very easy to build a partial-based system for rendering these pages and using content_for too heavily will hurt caching (and be very very confusing).

    Instead, I went back to the original design and cleaned up the HTML a bunch substituting HTML5 elements where it made sense.

    A content "cell" is an HTML5 section. What was div.C-Full became section.C-Full and the Modal thing is a section as well. The header div is now just a header tag, with the styles descending from the C-Full or the Modal section. There is still div.c-cont which wraps the content + sidebar, but there isn't an HTML5 semantic element we can substitute for that (c-cont is only for styling purposes to my knowledge). The old content div is now an article, and the sidebar div is now an aside element.

    Essentially I replaced div's + classes with an equivalent HTML5 element. We might have to add a line or two of code to enable this to work in older browsers (http://remysharp.com/downloads/html5.js) but I think it is worth it. Blind people will be able to understand our content (in theory).

    Here's the skinny on the markdown:

    section.MS-frame.sm
      header
      div.C-cont
        article
        aside
    
    section.C-full
      header
      div.MS-outer
        article
    
  • Brian R Zaik

    Brian R Zaik August 17th, 2010 @ 07:27 PM

    Did you mistakenly switch the markdown elements? Looks like they're mixed up and should be the following:

    section.C-full.sm
      header
      div.C-cont
        article
        aside
    
    section.MS-frame
      header
      div.MS-outer
        article
    

    I'm cool using HTML5 semantic elements. It's something I've been meaning to look into using for cleanliness purposes. We should include the JS file app-wide.

  • Brian Michalski

    Brian Michalski August 17th, 2010 @ 11:54 PM

    Good catch on the typo. Copy & paste gone awry.

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

Concerto is an open source digital signage system that makes it easy to engage a large community of people with graphical and text-based announcements, bulletins, and other messages... but enough about us, you came here to get involved.
<br />
If you think you've <b>found a bug in Concerto</b>, please click 'Create new ticket' and let us know about it.
<br />
Looking to peek at our source code? Head to <a href="https://github.com/concerto/concerto_v1">https://github.com/concerto/concerto_v1</a> (Concerto version 1) or <a href="https://github.com/concerto/concerto">https://github.com/concerto/concerto</a> (Concerto version 2).
<br />
Our getting started guide is available here: <a href="https://github.com/concerto/concerto/wiki/Getting-Involved">https://github.com/concerto/concerto/wiki/Getting-Involved</a>.

Referenced by

Pages