On Jun 25, 2012, at 11:10 AM, Vincent Massol wrote:

> 
> On Jun 25, 2012, at 10:59 AM, Eduard Moraru wrote:
> 
>> Hi,
>> 
>> On Mon, Jun 25, 2012 at 10:24 AM, Vincent Massol <[email protected]> wrote:
>> 
>>> Hi guys,
>>> 
>>> Some time back we started improving title handling, I'd like that we
>>> continue this and I'm proposing some further improvements below:
>>> 
>>> * Make the title field contain wiki syntax (same as the content field)
>>> instead of just velocity
>> 
>> 
>> I am not a big fan of seeing code (of any kind) in titles. IMO, it is bad
>> practice and we should discourage people from doing it. You have lots of
>> problems when some application lists the titles of pages with code in their
>> title or, worse, when the application tries to render those titles. You
>> have all sorts of security issues and generally bad things when the writer
>> of that title does not assume that it is going to be rendered outside his
>> page. I know it is a cool feature, but it is causing too much headache to
>> handle correctly.
>> 
>> AFAIK, 90% of the times when we need the title to be rendered is because we
>> need translation keys. We could very well have a filtered wiki syntax, that
>> allows only calls to the new {{translation}} macro.
>> 
>> An alternative to people that *really* want to generate their title trough
>> a script is to actually keep the title extraction from the document content
>> and make them have to generate a <h1> element from the content, not from
>> the title. This means that they have to leave the actual title empty for
>> the extraction to be triggered and, if I am not mistaken, applications that
>> want to list document titles can use
>> api.Document.gerRenderedTitle(document.syntax.toIdString()) (as they
>> probably did before) and the first heading (that is either static or
>> programmatically generated) will be displayed, which sounds good to me.
>> 
>> So I would be +1, considering the comment above (restricted use of macros).
> 
> Consistency *is* simplicity:
> * No new concept to learn for users (same tools, same concept to edit title 
> and content)
> * Same security model so that's safe. Which isn't the case when you start 
> doing custom stuff as you suggest
> 
> Being a web dev platform, the title really must be programmable too (which it 
> is already but in a custom way, not using the same code than the content is 
> using hence maintenance and security issues).

BTW I agree about it not being easy to have dynamic title, ie value that change 
depending on the context…

But I don't see many other solution and generating title in content is not so 
nice IMO.

If you think about it the title is a metadata like any other XObject you add to 
a page (and they are dynamic and can contain wiki syntax/scripts). Even the doc 
content can be thought as a metadata. It's not because it's harder for it to be 
dynamic that we shouldn't do it (otherwise we'll just be a static web site 
generation tool ;)).

Thanks
-Vincent

> Thanks
> -Vincent
> 
>>> * Make the title field a textarea so that we can have more than 1 line
>>> * Display a textarea of 1 line initially (to preserve space) but enlarge
>>> the textarea visibility by several line on the first Enter keypress in the
>>> field
>>> * Stop trying to extract title content from the doc content
>>> 
>> 
>> +1
>> 
>> 
>>> * Have a backward compat param to still support the old mode, but have it
>>> off by default in 4.2/4.3
>>> <side>
>>> * Introduce a {{i18n}} macro (or {{translate}}, or …)
>>> 
>> 
>> +1
>> 
>> 
>>> </side>
>>> 
>>> Advantages:
>>> * Same as the content field - More consistency
>>> * More power since we use wiki syntax and we can use any script language
>>> 
>> 
>> More problems for devs, more raised eyebrows from users. :)
>> 
>> 
>>> * Removes the WTF symptom when a user edits a page having velocity script
>>> in the title since they'll see it displayed in WYSIWYG mode with the title
>>> content evaluated
>>> * Removes the uncertainty about title extraction (for ex if some macro
>>> generates headings) but still allow it if it's really needed - Since the
>>> user will be able to write scripts in the title textarea and those scripts
>>> can extract stuff from the doc content if they really need it
>>> * We'll be able to add a l18n macro and thus display the title
>>> translations nicely in the wysiwyg editor
>>> 
>>> WDYT?
>>> 
>>> Thanks
>>> -Vincent

_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to