It's been nearly 2 years since I've taken over this module. This was my first experience with Drupal. The popularity has grown in such a way where I can no longer support the user need.
In it's current state, it's in need of a rewrite. The main flaw is in how the list of terms/items is being generated. #498182: Support for a term with multiple parents is attempting to solve this issue but not in a very elegant way.
I've attempted to rewrite this module a few times and have a large amount of unfinished code. I would of course share all of this code with you to do with has you want :)
The basic idea is in 3 parts.
1. Get the items. This is different for an entire vocab, a single term or a single node. Then allow an alter to these items. This would allow for users to add items to the menu to be generated.
2. Generate the path for each item. The current hook system is good for this.
3. Generate the link per item.
There are a few areas where a little improvment can go a long way.
1. The UI should be moved to admin/build/taxonomy_menu. This would allow for much for flexibility.
2. There needs to be more validation in the menu items. The main issue for new users is menu items not showing up. They do not understand the concept of menu_router items and that the callback has to exist. A simple validation can help that. Even some help where they can chose a view and the path is automatic.
3. The options need to be broken up. The options for path need to be with the path. When the path type changes, the options should change. The UI is confusing.
Well, that's a start. I will do everything to help make the transition easy.
Cheers,
Neil
| Comment | File | Size | Author |
|---|---|---|---|
| #2 | taxonomy_menu-3.zip | 10.79 KB | indytechcook |
Comments
Comment #1
tim.plunkettI came across this while working on a custom module to limit one vocabulary by another, basically intersection. While I think the current hooks would be enough to get something working, I didn't want to invest too much time in a module that needs a rewrite.
So, I'm interested in working on the rewrite. Is your in-progress rewrite up on github or the like?
Also, looking through the code, I'm not sure how the sub-modules factor into your above write-up. Insight into your plan for them would be helpful.
I'll check back here, but feel free to ping me on IRC (timplunkett).
Comment #2
indytechcook commentedHere are some more details:
The DRUPAL_6--3 branch has the first attempt at the rewrite. The idea was to allow for multi vocabulary menues. The UI is at a good state, but the rest of it quickly become overcomplicated. Here is a wiki I started with some of the basic ideas: http://groups.drupal.org/node/42014.
The 2nd time I attempted a rewrite, I went the ctools plugin/OOP method. I'm actually very proud of the design. It's very flexible and extendible. I've attached it to this issue (taxonomy_menu-3.zip). While I never actually completed this, or even made any sort of usable UI, the basic idea and object structure is there. I spent a long time on this, more for my education then the good of the community.
Upon deep reflection, I realize that I was taking a overcomplicated the issue. I started asking why was I rewriting and what problems was I attempting to solve. So I took a look at the issues queue for the common issues. Who is my audience? It came down to newbies. At the time of this writing, Taxonomy Menu is the 81st most popular module. The main user base are new users. The main issue I get in the issue queu relate to the paths they are trying to build not matching to a menu callback. Any issue that states anything about menu items not showing is related to the menu system not finding a menu router item to match against. So do I expect the common user to understand the complexity of the menu router system? Very few actually do. A UI that guides the user through building the proper menu would be the most beneficial IMO. Using menu_get_item(http://api.drupal.org/api/function/menu_get_item/6) to do some path validation.
The 2nd major change is related to #498182: Support for a term with multiple parents. This is focused on how the list of menu links is selected. Here is the basic flow of what I feel should happen.
This is obviously a simplified version. Here are a few other basic changes that need to happen.
Comment #3
vivekkhurana commentedHi!
I have used this module in two projects and will ike to see thsi module survive for long ;-). I have CVS access and will like to maintain this module in my free time. Plus I am not married yet :)
regards
Vivek
Comment #4
tim.plunkett@vivekkhurana are you intending on working on the rewrite, or just keeping things going in the issue queue? I wouldn't be opposed to co-maintaining.
Comment #5
dstolI'd love to help out with the rewrite and general issue queue cleanup.
Comment #6
indytechcook commentedtim, dstol and vivekkhurana,
You 3 being co-maintainers is fine by me :)
Which one of you wants to "own" the project? I'll submit a new issue to the d.o admins to get the project changes. In the meantime, I have added each of you as maintainers. Be kind!
Please feel free to keep in touch. A skype or irc knowledge dump would probably be a good idea.
Cheers,
Neil
Comment #7
dstolI can own it.
I'm available mostly in the evening Eastern time, but I'm available really anytime today before 6PM ET.
Comment #8
indytechcook commentedLogged #939276: Change Taxonomy Menu Owner to change the owner of taxonomy menu.
Comment #9
dstolThanks for your great work Neil.
Comment #10
vivekkhurana commentedHi! All,
I will be interested in rewrite part.
regards
Vivek
Comment #11
dstol