Will the new Site Designer have a...

User 2484360 Photo


Registered User
3,293 posts

David Harney wrote:
My point is that the master page concept is a reality in the Microsoft world and I'm not about to suggest they should adopt a different methodology - I'm just a lowly programmer trying my best to use their tool set. Which I happen to like very much for many reasons.

However, that aside, I wouldn't be at all eager to adopt your suggestion for any kind of medium or large sized project. With no intent to be argumentative , it seems you're missing the real benefits of the master page concept. Here are just a couple of thoughts:

- The master page (and even multiple layers of master pages) are blended together at run time - there is no duplication of code. The act of duplicating pages creates both an unnecessary maintenance chore and also invites inconsistency if the changes are not replicated completely and accurately. Duplication is just not realistic for many projects.

- The master page concept also provides for dynamic content between a master page and a child page. This is an often used technique.

- Master pages often contain links to external scripts and style sheets that require updating and doing this one place is far more efficient and less error prone than doing this in multiple duplicated pages.

As I said, I'm not really the right person to justify Microsoft's architecture. If you want a meaningful discussion about this I suggest posting on http://forums.asp.net/

My basic point is that the master page concept is a reality in the Microsoft world and no amount of suggesting otherwise is going to change that. Further, I think that CoffeeCup could take a big step into that market by trying to work with the concept and not try to simply suggest a different approach.

I've been thinking about making a fresh post related to this topic that focuses on main.css and how some small changes could help this problem quite a lot.


What you are referring to is called a Library. These consist of code snippets, layout options, etc that can be placed on other pages and updated in one location. This is something we are looking into, but as all things it will take time. :)
User 38401 Photo


Senior Advisor
10,951 posts

I see, no argumentation there at all, that's not what I was thinking the Master Page system was. Sounds like they are using a local only type of "PHP includes" which as Adam has already mentioned are basically the same thing as a Library when using Dreamweaver, allowing you repeat sections of your pages from page to page with one file only needing to be updated should you need to change it. You have my vote on that too, being used to using Libraries in Dreamweaver I would love to see that type of feature in RLM and in RSD when it's released.
User 2504377 Photo


Registered User
25 posts

As for work around with the current version of RLMP, here is the essence of what I was thinking about for new post on this topic: If I can have just one copy of coffeegrinder and wireframe-theme css files in one place and referenced just by the master page then this is pretty workable. For this to happen, the main.css file needs to contain all the unique styling for a unique child page. By carefully giving all the rows, columns, and elements class names in RLMP, I almost got this to work. However, when I tried to change the number of columns in a row at different break points, main.css didn't reflect this and I had to use new copies of coffeegrinder and wireframe-theme for that page (actually didn't test to see if I needed both of them). So, I'm not sure why some css is easy to push into main.css and some doesn't get reflected there? The only issue I actually encountered in a small test was the number of columns by changing the number of spans. Any thoughts about this?
User 2504377 Photo


Registered User
25 posts

I'm not sure there is much interest in pursuing this but I did a little test to illustrate the issue with main.css. I couldn't figure out how to use the img tag for this forum, so I set up page to illustrate (with screen shots) how RLMP managed a set of images and some text for desktop, tablet and phone screen sizes:

http://www.bikex.net/coffeescreenshots.html

Here is the main.css code:
/* Text Elements */

p.paragraph.my-para-1 {
font-size: 26px;
}

@media screen and (max-width: 556px) {
/* Text Elements */

p.paragraph.my-para-1 {
font-size: 15px;
}

/* Image Elements */

img.image-4-3.my-img-1 {
display: inline-block;
margin-right: 30%;
margin-left: 30%;
}
}

@media screen and (max-width: 310px) {
/* Text Elements */

p.paragraph.my-para-1 {
font-size: 11px;
}

/* Image Elements */

img.image-4-3.my-img-1 {
margin-left: 0;
}
}


You can see that some css is in main but not the css used to change the span of columns. Is there a way to force this into the @media sections?

User 38401 Photo


Senior Advisor
10,951 posts

I think you're overthinking this a little bit David. You don't need to add it manually it's all done for you in the program.

If you want to change your column widths in a different spot than the defaults created (if any were created at default) or other than those you already have, just create another breakpoint and change the spans at that breakpoint. It's really that simple and the program handles that transition very well actually. All the code is created for those breakpoints and everything goes to the code where it is supposed to then. There's no guessing involved which in the end is what you're doing trying to work it out manually.

Just my opinion of course :)
User 2504377 Photo


Registered User
25 posts

I fear we are talking past each other. I think I understand breakpoints in RLMP pretty well. Adding breakpoints manually is just not the issue.

This is about dealing with the master-child page issue where a child page has different layout in the body portion of the page from another child page. Perhaps one child page has 6 columns in the mid part of the page and another one has 3 - but both want to use the same master page layout for the top and bottom portions of their respective pages. However, each child page needs to handle breakpoints differently for their mid section.

It would be pretty reasonable to tell a MS Visual Studio developer that they need one additional css file for each child page that has unique requirements - in practice this might only be a handful of unique layouts for many pages. What is not going to be well accepted is to require all three css files to be repeated for each unique child page layout. Too much duplication. Although that approach does work because the cascading effect is such that the master page is rendered first with the initial coffee css files and then the child page is rendered with the second set of files - at least that is what my testing currently shows.

My screen shot example showed that changes like text size are in the main.css file but column span changes are not - they are only reflected somewhere in the other 2 css files. If the column span change for each breakpoint showed in the main.css this whole problem of master-child page would be quite workable.

If there is some other way of dealing with this issue that is consistent with the realities of developing in the Visual Studio world, I would definitely give it a try. Even if this is something that must wait for a future release of RLMP, I'd be happy to test it in the development stage. I have the general impression that the Coffee Cup is not always thinking about Microsoft developers and perhaps could benefit from some testers in that world.

Have something to add? We’d love to hear it!
You must have an account to participate. Please Sign In Here, then join the conversation.