Thanks Dave Ideally I would like a set-up similar to what I have for my static web pages. These are all served in two versions: text/html for XHTML-challenged web agents (like the googlebots and IE without a plugin) and application/xhtml+xml for Mozilla-based browsers and the IE+MathPlayer combination. Usually these pages are similar but not identical. (One is derived from the other using XSLT.) So yes, it is necessary to have two versions of the same content, mainly because I cannot wait until Microsoft and Google have both implemented XHTML.
Since clients will usually be referred to the blog from my own web pages I can presumably set the client's preference in a number of different ways, including using a cookie or using a modified URL to specify this preference. So the blog does not necessarily have to do the content-negotiation/client-identification. I am aware that in principle I can do all of this (content-negotiation, client-identification, set mime types, perform a server-side XSLT transform) with apache modules and the mod_jk connector, but this seems rather a heavy-handed approach. If I can use roller to do most of the work for me it would be much better. (And yes, a completely apache-free solution would mean I need to me able to set the mime type of the main pages.) Since I do need two different versions of the same pages, I don't mind writing extra templates. I am new to roller and only just learning what it can do. For example, I wrote a template to replace the main front page and can access it with http://localhost:8180/roller/general/page/MyPageTemplate But the problem is when the client clicks a link to see an entry (Eg "[Read More]" or the link with the date) I want to go to http://localhost:8180/roller/general/entry/MyEntryTemplate/entryname or something, but I don't think this is possible in Roller 3.1 at present. Anil wrote: >I'm not sure, but you may be able to get away with meta tags in the >templates. Have you tried this? No I haven't, and I am not sure to to go about this, but whatever the mechanism is it needs to persist through links. I'm wondering if cookies wouldn't be better. That way I only have one set of templates and I only have to use apache to set the mime type. As I said originally, I don't know if this is in the basic design frame for Roller. I haven't yet found any appropriate blog software for my needs and maybe there isn't one. (I am keen to stick with something java-based for now as I really want to incorporate java mathml editing tools at some stage.) My other ideas include: running two instances of roller with different templates and the same database, using apache to select between the two. (It sounds crazy. But could it work?) Or writing a new application altogether that reads the roller database directly for one of the versions I need. Thanks for your help and interest. Richard On Mon, 2007-06-18 at 11:16 -0400, Dave wrote: > Comments below... > > On 6/14/07, Richard Kaye <[EMAIL PROTECTED]> wrote: > > Hi everyone - and apologies if I am sending this to the wrong > > list. I don't know if this counts as "minor customization > > (for example, at the theme level)" but I suspect not. > > > > I want a MathML-enabled blog. Specifically entries should be > > in XHTML+MathML (and not plain HTML). I haven't decided yet, > > but I may also want to allow MathML in comments too. I have > > just installed a working roller (3.1) under tomcat (5.5), and > > all is well with this, but don't even know where to start > > with customising it. > > > > The documents the client sees should be served as content-type > > "application/xhtml+xml" (ideally, though "text/xml" is > > possible, as is "text/xml; charset=utf-8" and couple of > > other more obscure ones). This is absolutely necessary > > for them to be displayed correctly on both major browsers > > (firefox, IE). I have no control over these content-types. > > In particular, the space after ";" and capitalization in > > "text/xml; charset=utf-8" are essential for IE, which > > doesn't load the plugin correctly if given > > "text/xml;charset=utf-8" or "text/xml; charset=UTF-8". > > Also, adding a charset to "application/xhtml+xml" also > > stops it working. (Don't ask me why... I wasn't able to > > study the IE source code.) > > > > The other constraint I have is that ideally other clients > > (such as the google bots, which do not understand XHTML > > and IE clients without the required plugin) must see a > > plain HTML version of the pages, served as text/html. > > > > So it seems I need two "flavours" of the same pages. > > I could not see how to achieve either of these requirements > > by creating and editing a new template, and I couldn't find > > any other helpful roller settings. I guess atom, rss, (etc) > > feeds work in the sort of way I need but I need some pointers > > on how to add new flavours to my roller. > > > > The only idea I have is that I suppose I could use my apache > > and a connector and do all these changes using apache modules > > and XSLT transformations, but I would have thought good blog > > software wouldn't require this sort of thing. Does anyone here > > have other ideas of how to configure or customise roller itself? > > In 3.1 we serve pages as "text/html;charset=utf8" unless the page's > link has an extension that allows us to guess (using > ServletContext.getMimeType()) the content type. So you're basically > out of luck with 3.1. > > Currently, in 4.0 we allow you to set the content-type of each page > template, which should be helpful to you except that we don't allow > you set the content-type of the required templates (Weblog, _css, > _day). > > If we fixed that and allowed you to set the content-type for each and > every page template, you'd be almost there. Do you really need to be > able to serve different content-types to different browsers of the > very same page? > > - Dave
