Problem
The module doesn't support large taxonomy
Proposed resolutions
* Maybe some kind of ajax. A module user interface similar to http://drupal.org/project/hierarchical_select or http://drupal.org/project/taxonomy_manager Where only the selected parent and his child are loaded. Instead of loading the entire taxonomy three.
* Maybe a pager
* Do you have any other suggestions?
Steps to reproduce issue
1. Create 10 large taxonomies. At least 50,000 terms each. This can easily be done with http://drupal.org/project/devel
2. Using a remote server. Not your local computer. Go to the module configuration page at /admin/user/access/tac_lite/scheme_1 The page will most likely not load. Because tac_lite tries to load all 10 large taxonomies. This requires a large amount of memory. Expected result is the module configuration page should load.
Comments
Comment #1
Dave Cohen commentedMy advice would be, make a smaller taxonomy to control access. Do you really need this?
I'll happily look over any patch that addresses this. But if it complicates the UI.... or anything that takes the 'lite' out of tac_lite, I doubt I'd commit it. I just can't think of a real world situation for this. Performace-wise, if you end up with a thousand node_access table entries for each node, that would really tax drupal.
Comment #2
francewhoaThanks for the advice. We tried a smaller taxonomy but it doesn't match our needs.
Yup we really need large taxonomies
We want to control access to some taxonomy terms. Not control access to some nodes.
Comment #3
Dave Cohen commentedI'm not suggesting you don't need a large taxonomy. I'm suggesting maybe you can use another taxonomy with fewer terms for the purpose of controlling access to nodes.
Comment #4
francewhoa@Dave: Thanks for your reply
Hope the following helps clarifying the suggested feature. Here is the hierarchical taxonomy.
* Level 1. Term 1.
.......* Level 2. Term 2.
..............* Level 3. Term 3.
* Level 1. Term 4.
.......* Level 2. Term 5.
..............* Level 3. Term 6.
.......* Level 2. Term 7.
.......* Level 2. Term 8.
* Level 1. Term 9.
.......* Level 2. Term 10.
..............* Level 3. Term 11.
* [And so on. 500,000+ Levels and terms.]
Expected result is user can only view the following terms in a hierarchical taxonomy dropdown menu
* Level 1. Term 4.
.......* Level 2. Term 5.
..............* Level 3. Term 6.
tac_lite is able to do that well with small taxonomies. But does not support large taxonomies because on its configuration page at
/admin/user/access/tac_lite/scheme_1it tries to load all 500,000+ terms in one page load. As a result the server runs out of memory.We would be happy to contribute testing if someone wants to contribute a patch. We need control on a large taxonomies for libraries with large number of books.
Comment #5
Dave Cohen commentedSo, you're more interested in hiding terms on the node edit form, rather than hiding nodes? Or both?
What happens on the node edit form? How much memory does it use?
Comment #6
francewhoaQ: So, you're more interested in hiding terms on the node edit form, rather than hiding nodes? Or both?
A: Correct we're more interested in hiding terms
Q: What happens on the node edit form?
A: In scenario from above comment #4, only the parent and its direct children are loaded in memory. Not the entire taxonomy three. To clarify try an example on the following demo site under "My car park" section: http://wimleers.com/demo/hierarchical-select/taxonomy
We actually use a Views. Not a node edit form.
* Using module: "Hierarchical Select"
* With its sub-module: "Hierarchical Select Taxonomy Views"
The Views is made of:
* Filters: "Taxonomy: Term exposed"
.....* Selection type: "Hierarchical Select"
Q: How much memory does it use?
A: I'm assuming you mean with something similar to hierarchical_select. It uses little memory. In this case usually 5-15M at page load. Then a very small peak of temporary additional memory ~0.5-5M, when user is navigating through the three. Most server can handle it.
It uses little memory and can scale really big thanks to Asynchronous HTML and HTTP (AHAH). Read more at http://drupal.org/node/348475
Comment #7
Dave Cohen commentedLet me put it this way....
Let's say with tac_lite disabled... If you were to attach that huge taxonomy to a node type... then, you go to the node edit form... If in that case your server runs out of memory trying to display the edit form, then I would consider this an issue with taxonomy module in general. I don't think tac_lite is in the business of supporting complex UI for taxonomies that drupal core does not support.
All that said, maybe you could patch tac_lite to build a form using hierarchical select elements instead of taxonomy module select elements. I'm not familiar with that module or its API.
Comment #8
francewhoa@All: Any volunteer to write a patch?
@All: We would be happy to contribute testing
Comment #9
damienmckennaThank you for your contribution to this module. Support for Drupal 6 ended a decade ago, so I'm closing out this issue.