On 06/28/2011 08:21 PM, Thomas Mortagne wrote:
> On Tue, Jun 28, 2011 at 18:43, Marius Dumitru Florea
> <[email protected]>  wrote:
>> Hi devs,
>>
>> A prerequisite for Application Within Minutes [1] is to be able to
>> specify the sheet that will be used to display a document without
>> touching the content of that document [2]. This can be done in multiple
>> ways, depending on how we define the notion of a sheet.
>>
>>
>> (1) Class sheets vs. document sheets
>>
>> A class sheet displays an object of a particular type and is specified
>> in the definition of that type. This means that when you create or edit
>> a class, i.e. a type of object, you can specify which sheet should be
>> used to display the instances of that class.
>>
>> Pro: Documents don't have to specify a sheet.
>> Con: We have to determine which sheet to use in case there are multiple
>> objects attached to a document.
>
> There could be a choice, i.e. one is used by default but you can
> change it from a list in the UI (the same way you can switch from
> object editor to content editor). There is still a problem to choose
> the default one but it's less critical.
>
>>
>> A document sheet displays a document of a particular type and is
>> specified at document level because the document type, unlike the
>> xclass, does not exist actually. The document type is inferred from the
>> type of objects the document has, or from its content, or, why not, from
>> the type of attachments it has.
>>
>> Pro: Doesn't have the class sheet con.
>> Con: Each document has to specify which sheet to use.
>
> Should not be class sheet against document sheet IMO, we should
> instead define a chain of choice:
> * is there an explicit sheet defined for the document ?
> * if not then try to find it based on class of object stored in this document
>
> That way for specific document that really need to explicitly force
> the sheet to use they can but class sheet should do for 90% of the
> others.
>
>>
>> Class sheets are enough for Application Within Minutes because the
>> wizard will create a single class (with a sheet) and so the application
>> items will have only one object that specifies a sheet.
>>
>>
>> (2) Separate sheets per action?
>>
>> The current practice is to define a single (class) sheet which either
>> checks for the current action in its code or uses doc.display method
>> whose output is action specific.
>>
>> How often did you had the need to write separate sheets per action (e.g.
>> create, view, edit, search, changes)?
>
> Yep the #if about action are not very nice, would be better for
> developer to be able to associate the sheet to one or several actions
> (maybe some like the #if after all ;))
>
>>
>>
>> (3) Which actions require a sheet?
>>
>> If we're talking about class sheets then the list of actions that target
>> an object and which require a sheet is limited. Currently we have "view"
>> and "edit", but Ludovic proposed also "create", "search" and "changes".
>>
>> If we're talking about document sheets then we can have custom actions
>> and so we need an extensible mechanism to map actions to sheets.
>
> Indeed if it's not just about editing there should probably be other
> actions but I'm not sure which one. Not sure about search at document
> level, if you really need a search at this level it probably mean you
> have too many object in the same document and that there is a design
> issue.
>

> What is "changes" ?

A diff view, if I understood correctly from Ludovic's description:

"(for custom changes display) This could only apply for the changes 
display of a specific OBJECT or the full changes page, or there could be 
2 sheets one for the full changes page and one for an individual change."

Thanks,
Marius

>
>>
>>
>> (4) Sheet parameters?
>>
>> If we're talking about class sheets then they only need to specify how
>> an object is displayed. Document sheets on the other hand may need to
>> control elements like:
>>
>> * which tabs (comments, annotations, attachments, etc.), if any, are
>> displayed
>> * show title field in edit mode
>> * the side panels
>> * the form buttons
>
> Indeed I only tough about document content display but could be nice
> to have something to setup theses aspects outside of document content
> too.
>
> Now it's not easy to know what to put in there since skins could be
> very different and some of them would not mean anything depending of
> the context and it could goes as far as document skin. I'm not sure
> it's really the same subject. Merging both would maybe create more
> issues than it solve. Most of them are pretty specific to the view
> action.
>
> But again I don't know, it just feel too much to merge them.
>
>>
>>
>> WDYT?
>>
>> Thanks,
>> Marius
>>
>> [1] http://dev.xwiki.org/xwiki/bin/view/Design/ApplicationWithinMinutes
>> [2]
>> http://dev.xwiki.org/xwiki/bin/view/Design/ApplicationWithinMinutesCoreChangeSheetDisplay
>> _______________________________________________
>> devs mailing list
>> [email protected]
>> http://lists.xwiki.org/mailman/listinfo/devs
>>
>
>
>
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to