[TYPO3-dev] Feedback Request: Inline-Relational-Record-Editing

Oliver Hader oh at inpublica.de
Thu Nov 16 12:39:47 CET 2006


Hi Dave,

David Bruehlmeier wrote:
> I have implemented IRRE for the extension 'partner' to have a 'real
> life' example to play with.
> 
> Result: The change was very easy. Change the TCA definition, add a new
> field to tables.sql and it was up and running. Great!

Great! Thanks for testing with Partner Framework!

> I have tested with 'collapseAll' set true.
> 
> Issues / Nice-to-haves
> ----------------------
> - The mouseovers (alt tags?) of the icons on the right-hand side of the
> label (e.g. show info, history, etc.) don't work

The control buttons in the header were copied from the web-list module.
I fixed the language settings for IRRE.

> - The 'Display Change History / Undo' icon doesn't work

This function was completely remove from the editing view. If we would
keep on using this, a new window with the history would pop-up. You
could make your changes, but then, the TCEforms editing view has to be
reloaded individually, not completely.
I think in that case it's better to use this functionality on the list-view.

> - The 'Hide Record' icon doesn't work

Clicking the icon only toggles the "hidden" field of the child record.
On clicking the save button this is transfered via TCEmain to the storage.

> - Deleting the record works, but I noticed that the record only gets
> deleted once the 'master' record is saved. This is IMO againgst user
> 'intuition'. The systems asks the user if he wants to delete the record,
> he answers yes; the expectation is that after answering yes, the record
> is deleted.

Yes, that's correct. Every action in IRRE is stored on clicking the save
button. Deleting on never saved child records is a "removing from the
DOM structure", deleting on saved child records is a "mark to be deleted
on hit the save button and hide in current view".

If it would be deleted directly, all other fields and records should be
stored immediately to the database. So this would also affect the
fields, that are not handled by Inline-Relational-Record-Editing.
It would be possible, but needs a generalized concept for autosaving
data in TYPO3 - what if your browser crashes, where should the system
set it's reentry point for editing?

This could be a feature for the future of IRRE/TYPO3.

> - NEW: I would appreciate if this label was not bold and uppercase, but
> simply 'New'. Uppercase and bold is too much emphasizing. After the
> 'New', adding the label of the record would improve usability IMO, e.g.
> 'New Contact Information'. Perhaps even 'Add new Contact Information'.

Very good, I like that! I'll implement this feature ASAP.

> - After Clicking NEW, with collapseAll an, the new record is also
> collapsed. It would be better if the newly created record was _not_
> collapsed so it can be directly filled in without an additional click to
> expand the record.

Agree. I'll change this. I also would expect, if using the
expandSingle-setting, that the currently expanded child record gets
collapsed on creating a new one.

> - The 'child'-record in my example has a type-field which refreshes the
> screen. So when I create a new 'child'-record and change the type, the
> screen reloads and the new record is saved (TYPO3 standard behaviour).
> After this reload however, it would be nice if the new record was
> expanded again so I can continue to edit the new record.

Hum, good point. I'm not happy with reloading the page. Perhaps I can
find a solution that catches the "requestUpdate" fields and handle it
via AJAX. But this is also a general TYPO3 issue, and does not only
depend on IRRE. Well, give it a try... ;)

> - It would be nice if the position of the 'NEW' icon could be configured
> (top, bottom, both)

This is integrated now. You can use a new appearance setting TCA, which
is called "newRecordLinkPosition". The values are like you suggested:
"top", "bottom" and "both"

> - It would be nice if the appearance of the header of a child record
> could be configured (styling, which buttons are available). Maybe even
> place a hook after everything is rendered so everything can be
> individually influenced?

What do you mean by "styling", setting the HTML attribute "style" on
your own? Please give me an example, what button you'd like to hide.

> Getting the label of the record
> -------------------------------
> This is only indirectly related to IRRE, but still I would like to point
> this out. The logic for getting the label of a record is spread in
> multiple places already and with IRRE, yet another place is added. I
> think this would be a good time to correct this:
> 
> - Implement a central method for getting the label of a record
> (t3lib_div ?)
> - Change all places in the core, where the label is created to this
> central method
> - Plus: Add a hook in the central method so the label can be created by
> a user function
> 
> I have already put a similar request in the bug tracker a while ago (but
> I think a hook in a central method would make more sense):
> http://bugs.typo3.org/view.php?id=2979

The suggested user function would be great. I think currently your
creating the "label" fields on tx_partner using a TCEmain hook to get
the label field update on saving a record. Of course IRRE can't access
this, because IRRE mostly comes to action, when the records are not
completely saved. But it would work with a userfunction, that is called
via AJAX.

Thanks for your help!

The mentioned fixes from above are already commited to SVN
(typo3_playground on typo3xdev).


olly
-- 
Oliver Hader
http://inpublica.de/




More information about the TYPO3-dev mailing list