Taxonomy Manager - Updates

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
mh86's picture

The last 2 weeks I spent a lot of time in adding paging mechanism to the tree structure, in separating the tree structure as a own form element type and in adding of a form for editing data from a specific term.

In detail:

Paging Mechanism

As discussed in my last reports, performance has been a big issue to me. The first thing I added was the AHAH reload of nested children terms (they get loaded when the parent term gets expanded). But this doesn't help me with flat vocabularies or if someone is having a parent term with many child terms (which is in my opinion very rare).
In case of flat vocabularies, I added the standard drupal pager with a page size of 50 terms. This works well and prevents from loading too much in one step.
But this works only for root level terms. In case someone is having longer children list, I added a different paging mechanism. Again only the first 50 terms get loaded. If there exists more siblings, then there appears a link for loading the next 50 terms through AHAH.

Definition of a own form element type

Last week I separated the tree structure as a own form element type. This had two reasons. First I'm generating trees in different places (e.g. in the general form, in a callback for reloading nested children through AHAH,..) and so I wanted to have a general and simple structure with some available settings. Secondly this offers the possibility for using it in different ways / modules.

Form for editing term data

Last week I started in designing the form for editing term properties, like the term name, description, synonyms...
This form gets dynamically loaded when a term in the tree structure gets selected. So, on the left side there is the tree structure and on the right side we have the form for editing data from a specific term.
The form does look a bit different from the one that the taxonomy module offers. First it includes a textfield for editing the term name and a textarea for the description (like in the taxonomy module). Second it contains listings of all parents, children, related to terms and synonyms with a delete operation (this does delete the relation, not the term itself, except synonyms (because they are no terms..)). The appearance of this forms should certainly depend on the vocabulary settings.
Additional, for every listing, there is a autocomplete for adding a new kind of relation (hierarchical, related to) or synonym. These autocomplete boxes allow you to easy add existing terms or to directly insert a new terms with a certain relation.
The changing of parents / children or adding of new terms can have a strong impact on the tree structure, so that the whole tree will have to be reloaded.
Concerning the parents / children listing, you may see, that editing of hierarchical relations is not a new functionality in the Taxonomy Manager. All this can already be done in the tree structure with moving / adding / deleting operations. But I think I gives some additional overview, e.g. it can help to see that one term has multiple parents (which may not be seen in the tree structure at a glance, because other parents can be collapsed).

I've attached a screenshot of the current status, because it says more than my explanations ;)

Upcoming work:

  • Finishing term data form (appearance depending on voc settings, updating of the tree structure, ...)
  • Adding of a search mechanism

Before I forget, if you are interested in trying out the current implementation (it's still heavily in development), there is a dev snapshot available on my project page.

AttachmentSize
taxonomy_manager_screenshot.png78.56 KB

Comments

browser

serialjaywalker's picture

I've installed and played with the development snapshot, and it seems promising. Nice work.

I am curious to know what your primary browser is as you develop this module. It seems to work for me in Opera and Safari (both on Mac), but the tree doesn't seem to expand in Firefox or IE6. I don't have access to IE7 to test it.

Update: I see you've updated the snapshot. The new version works in Firefox. I'll try IE6 the next time I'm on a Windows computer.

thanks for testing..

mh86's picture

Hi!
Thanks for testing and your report.
Normally I use Firefox on Ubuntu. I was a bit surprised, that it didn't work in FF for you.
Anyway, I think I found the problem and fixed it (as you reported).

I know, there are still some css bugs in different browsers. Fixing browser incompatibilities can drive me crazy... ;)