[Bug 12828] New: Client-side Master pages wanted eagerly

http://www.w3.org/Bugs/Public/show_bug.cgi?id=12828

           Summary: Client-side Master pages wanted eagerly
           Product: HTML WG
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: HTML5 spec (editor: Ian Hickson)
        AssignedTo: ian@hixie.ch
        ReportedBy: bpkservice@mail.ru
         QAContact: public-html-bugzilla@w3.org
                CC: mike@w3.org, public-html-wg-issue-tracking@w3.org,
                    public-html@w3.org


This is the whole message consisting of two messages sent by me to
public-html-comments@w3.org. I repost it here because I'm not sure that this
text will reach the right people.

I would like to make a strategic feature request to HTML. May be it is not too
late.

I may missed something while reading drafts of new HTML standard, but I
seriously think, there's one feature that HTML really lacks. I'm talking about
Master Pages done with pure HTML only. You may object, saying that there are
tons of server technologies including SSI, ASP.NET, PHP, at least JavaScript,
to accomplish this task.

But there are also applications where these HTML-based Master Pages would be
essential. They are the servers which have server scripting turned off or
don't have it at all, such as mini web servers, possibly done on the hardware
router base.

There is one truth about server-based master pages: each time such a page is
loaded the client should download the web site design again and again
instead of downloading master page once, caching it and then applying to each
content page. Such a waste of traffic!

In comparison to JavaScript solutions Client Master Pages wouldn't require any
programming from the web designer.

There may be also some profit from Master Pages on client side when saving
downloaded web sites to disk (disk space save).

I think, there already are great drafts for this technology present - no need
to invent something new from scratch. Look at ASP.NET Master Pages for
example. There are basic elements:
1. Link to master page in the content page
2. Named content placeholders in the master page
3. Named structures with contents, which correspond to named placeholders in
master page

Some people denote that there are FRAME and IFRAME tags to do the task which
Client Master Pages should do.

But these instruments have big disadvantages (otherwise Server-Side-Include
wouldn't exist and Microsoft
wouldn't give birth to their Server Master Pages).

The main disadvantage is that in both - FRAME and IFRAME - cases the container
chooses contents for itself.
Master Pages do the opposite: the content page chooses its container. So if you
have multiple designs in multiple Master Pages, the design can be switched
easily in each particular content page.

Now imagine that you should have two master page designs on your web site. For
instance, each even content page should have design number 1, and each odd -
design number 2. But the web site should look consistent while clicking on
links and going to another page. This task can not be done easily using
FRAMESET.
I don't like an idea that each anchor tag is aware of in which frame a linked
document should be displayed (I mean the frequent use of "target" attribute).

Additionally, frames aren't consistent in a meaning of DOM (you have to "jump"
somehow over frame border).
Pages created using Master Pages are consistent. The difference between Server
Master Pages and Client Master Pages I suggest is that Client Master Pages
remain in two pieces but should be considered by the browser as a solid
document, especially from the DOM point of view.

Another disadvantage of frames is that they are scrollable individually - each
in its own rectangualr area.
The document created using master pages looks consistent and scrolls as a whole
sheet.

As an example how in my imagination the master pages should work - refer to
linking external CSS or JavaScript files to HTML document. After loading an
external CSS file browser doesn't distinguish between CSS from external file
and inline CSS in STYLE tage of HTML-document's header. The same about
JavaScript files - browser doesn't distinguish between external JS and script
from inline SCRIPT tag.

And think about nested Master Pages - they also could be useful.

Please reply me about your opinions concerning implementation of this feature.
And please remember - I am at least one user who needs this technology :) I had
enough time to think about that.

-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

Received on Tuesday, 31 May 2011 12:27:29 UTC