[TYPO3-irre] Perfomance and usability issue

Oliver Hader oh at inpublica.de
Sat Mar 24 12:47:43 CET 2007


Hi Dave,

David Bruehlmeier wrote:
> Dear IRRE enthusiasts,
> 
> as you might know, the Party Information Framework makes heavy use of
> the great IREE functionality. I have now created a fairly large set of
> test data (>2,500 parties, >44,000 records in total) to see how IRRE is
> doing in terms of performance. It's available in SVN
> (typo3xdev/tx_party/tests) if you're interested.

Thanks for implementing IRRE in the Party Information Framework. This is
the most considerably use-case for IRRE handling masses of data. Just a
hint for those trying to use the SQL test data: All party related
records are stored on the page with uid "1".

> The first thing I noticed which will need a new solution is the record
> selection in the 'combined' mode. Just opening a single 'party' record
> when working with the test set takes more than a minute on my laptop...
> Why? Probably I should be getting a new laptop, but I guess it's also
> because IRRE is fetching all possible records from the DB to build the
> selector-box left of the 'Create new relation' icon.

That's true. On my system this took about two minutes until all data had
been fetched. The load of my server grew rapidly. In fact the reason is
that all records (some 1,000) for the selectors were fetched from storage.

As an alternative it would be possible to use an element browser instead
of the selector. Thus, on the table "tx_party_address_usages" the fields
"address" and "party" would change their TCA type from "select" to
"group" with the subtype "db". This feature was first integrated in
TYPO3 4.1 RC1 (see http://bugs.typo3.org/view.php?id=4838).

> Here's my suggestion which I would like to disuss with you:
> 
> 1. Get rid of the 'Create new relation' selectorbox
> 2. Add a new icon under the 'Create new address' icon, sth like 'Use
> existing address'.
> 3. Clicking on that icon fades in a new text box, much like clicking on
> 'Create new' fades in a new record.
> 4. The text box could work like Google Suggest, so while as-you-type,
> possible results are fetched by Ajax.
> 5. As soon as the record is selected, the same occurs as in the current
> version (the intermediate record and the selected record fades in to be
> changed)

I like this idea very much. I think that this doesn't only affect IRRE,
but more the Core in general. I can imagine an addition to the TCA types
"select" and "group" like "useSuggest". At some place (bugtracker or a
mailing list) I read about a request for a search box inside the element
browser, this could also a possibility.
The difficulties for a sugguest approach could be the fact, that it has
to be defined, which field or label is used for searching and
visualizing the subset of results. Imagine the label is generated
individually by a "label_userFunc" - this would probably influence
performance in a negative way if 10,000 records have to be fetched and
the label to be rendered for each record and after that the search term
would be applied.

> Additionally, it would be nice to provide an option to create a 'search
> wizard' which will be displayed additionally right to the text box. The
> search wizard would be called by a hook. In the address example, the
> search wizard would provide a pop-up with the most relevant address
> fields which can be filled out. Searching will result in a list from
> which the matching entry can be selected. Very much like the element
> browser from the core.

I guess you're talking about an advanced search form? This could also be
used as new widget for e.g. the list module to search for records. And
if it is implemented well, it could be integrated into TCEforms

> The result might look sth like this:
> http://www.bruehlmeier.com/tx_party/irre_combined.png
> 
> Please let me know what you think!

As already mentioned: +1 on the idea


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


More information about the TYPO3-project-irre mailing list