I was wondering if Category module will be updated when the Drupal 6 version comes along? Based on the *warning* on the module's main page I was thinking it might not be.
Thanks.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

bdragon’s picture

Started on it already, actually.

HEAD will be recieving the first part of the 6.x port sometime soon.

bdragon’s picture

Title: Category updated to 6.x? » [master] Category 6.x
Version: 5.x-1.x-dev » master
Assigned: Unassigned » bdragon
Category: support » task

I'm going to go ahead and [master] this.

bdragon’s picture

I'm excited about 6.x. It has a lot of new functionality that will allow making Category a lot simpler, cleaner, and more efficient.

inforeto’s picture

subscribing

lias’s picture

Thanks for the confirmation and the work bdragon! This is a terrific module, looking forward to v6.

mathieu’s picture

Subscribing.

bdragon’s picture

First batch of changes committed. It's nowhere near working, but I got the database schema history converted over to the new system.

bdragon’s picture

Committed another gob of changes.

I'm liking the Drupal 6 API changes.

Roxpace’s picture

How is the progress with this ?

Jaza’s picture

I'm going to start work on this. Bdragon, please let me know if you're still active as well - if not, then I'll re-assign the issue to myself.

bdragon’s picture

Please do, I got NOWHERE with this.. :(

Jaza’s picture

Assigned: bdragon » Jaza

I've tackled most of the database changes, and I'm now getting stuck into updating the wrappers. This is a biiig job! Will post a patch when I've made more progress.

lias’s picture

Thank you for the update and work.

wayland76’s picture

subscribing

pjb’s picture

subscribing as well :)

g76’s picture

subscribing

g76’s picture

tried out the HEAD for Drupal 6 on a fresh install, getting this error:
user warning: Table 'db_dir.category_cont' doesn't exist

is there a seperate SQL file that could be used?

If I am testing this out too early, just let me know. I know you are still working on it, and wanted to thank you.

g76’s picture

also while enabling it I get this error on the modules page:
warning: Invalid argument supplied for foreach() in dir/includes/common.inc on line 3164.
warning: Invalid argument supplied for foreach() in dir/includes/common.inc on line 3085.

emerge’s picture

Do you know if category 6 will solve any issues when this module becomes big e.g. we use category on the revisionworld website and have some 8000 pages but the site grinds to a halt (memory timeout) when we try to add anything and looking through previous threads it looks like the bigger the site gets the more problems it will have.

Any suggestions?

Jaza’s picture

Status: Active » Needs review
FileSize
33.09 KB

OK - after many long hours of coding, here's the first preview of the category module working with Drupal 6. Yay!!!

Listing all the changes in this code will be quite a challenge, as it's a fairly thorough rewrite of the module, possibly taking more inspiration from D6 core than from D5 category. Some of the new features that you can see already in Category D6:

  1. Admin pages improved to reflect the changes in the book and taxonomy UIs for D6. E.g: drag-and-drop is enabled on the container and category overview pages, and paging is improved on the category overview pages. As with D6 taxonomy, drag-and-drop is disabled for multi-parent containers.
  2. The AJAX select widget in the D6 book module has been ported over to category, for the 'container' and 'parent' select boxes on add/edit category/container node forms. This will be used instead of activeselect.
  3. The category/container node form is now more finely-grained in its fieldset grouping of elements, to improve usability.
  4. As in D6 taxonomy, the 'hierarchy' option for containers is now maintained by the system, rather than being a user-defined setting.
  5. Distant parents has been made less ambitious, and also less buggy. You can now only define one other container as an 'allowed distant parent' for each container. Categories can only have distant categories as their parents, not distant containers.
  6. No more 'description' field for categories or containers - node teaser is used for this purpose instead (only use of it is in RSS feed descriptions, anyway).
  7. Various other usability improvements in D6 core reflected in D6 category - e.g. 'synonyms' and 'related categories' moved into 'advanced options' fieldset.
  8. Category-to-node associations are now revisioned, as in D6 taxonomy. Note that other category and container information is still not revisioned.

This first version is working pretty well, but it still has some bugs to be ironed out, and so far it's only the absolute core category system. Many things are still left to do, some of which are:

  1. Provide an upgrade path from D5
  2. Make category selection for distant-parent containers AJAXified
  3. Upgrade the book and taxonomy wrappers (work in progress - but not included here)
  4. Upgrade the category-related modules. I'll be tackling the main ones when I get a chance (i.e. category_menu (big performance and stability improvements in the pipeline), category_display, category_export, category_legacy).
  5. Upgrade the other modules, in the 'contrib' sub-directory. I don't see myself getting around to these, so if anyone desperately wants them upgraded, please volunteer to do it yourself.

Testing, reviews and feedback are most welcome. With some community help, I'm hoping that CVS commits and alpha releases will be happening soon.

liquidcms’s picture

Sounds great, thanks for getting this started Jeremy.

I'd love to jump and convert some of these but timing wise we are committed to going forward on our project still using Drupal 5 and therefore i am still mostly working on fixing up category for Dr5. I am sure it won't be longr after we release our site that we'll be looking to migrate to 6.

That all being said - i like your upgrade priority list above especially #1 as this would be my biggest concern at this point. Although #5 scares me a little since for every site i have done using category the most important module to me is category_transform - which i think falls into the contrib category.

I guess if some of these and other non-cat modules come along; i'll likely jump in and do cat_transform.

Peter Lindstrom
LiquidCMS - Content Management Solution Experts

PGiro’s picture

Just downloaded your D6 alpha and plugged it in after reading your documentation.

Boy am I glad I have been spending hours pouring over all the drupal modules and finally finding this to get this functionnality. From what I see, this is a well known module but I am new to Drupal so there :)

I had been playing with CCK nodereference to try to simulate this. For the sake of future readers also looking for this functionnality I am listing some keywords I can think of so that search engine will reference them to this page : addnode, add_n_reference, nodeassist, cck, nodereference, autocomplete, node family, node relativity

I will be doing more testing over the weekend on this D6 version and provide some feedback then

cyclops2.0’s picture

Hey, how does one "apply" the patch provided above? I just see files (not .patch files)... Do I just put them in the category directory and override the ones currently in there? (I tried that but I am getting errors about missing functions, etc).

Any help would be great.

Pancho’s picture

@cyclops2.0: Nope, forget about the old category directory with its files. That won't work. Just delete the old directory's content and replace it by the new ones that are rolled into the zip file.

falk_g’s picture

Thank you a lot Jaza that you have picked up the development again... please don´t leave us ever alone again....

no catpathauto, cattransform, catbreads and catviews is a real sucker so - maybe we can make it a group efford to recode them...

Jaza’s picture

D6 Alpha1 of the category module is now released: download it from the module's main page, or from CVS. Yay!

Update to my previous todo list:

  1. Provide an upgrade path from D5 — TODO
  2. Make category selection for distant-parent containers AJAXifiedDONE. The new distant-parent selection is based on the AJAX select in the D6 book module, and it no longer depends on active select. It's pretty cool - give it a try.
  3. Upgrade the book and taxonomy wrappers — IN PROGRESS. Taxonomy wrapper is pretty much done now (working more reliably than ever), but book wrapper is not yet started, and is going to be much tricker (due to the new book/menu entanglement in D6).
  4. Upgrade the category-related modules — TODO
  5. Upgrade the other modules, in the 'contrib' sub-directory — TODO

Finishing off the rest of these items (except for the last one, which has a longer timeframe) will lead us into the beta stage of Category D6. Testing and feedback of Alpha1 is welcome.

Jaza’s picture

PS: I also wrote a new little module, called 'category_resave', which calls node_save() for every container / category / tagged node on your site (or it can be run per-container). I just whipped it up in order to make debugging the taxonomy wrapper a bit easier. With one click, it will re-generate all the wrapper data on your site - should also work for re-generating menu items, when I get round to category_menu. Very handy!

You can find category_resave in the alpha1 release of the module (under 'contrib').

woleium’s picture

good work jaza!

subscribing...

Anonymous’s picture

Hi! This module is great, thank you Jaza and bdragon for your work. I'd like to help with porting to D6 as I need D6 version for my site.
Starting with category_display seems logical to me because it is marked TODO on your list and I need it.
Is it ok for me to start working on this or have you already started it youself? Is there anything I should know before starting?

Jaza’s picture

Etzel: I am currently working on the book wrapper, and on category_menu and category_display (these three are very closely linked). So if you could wait until I have those modules finished, it would be super. These three are also quite tricky, as there have been significant changes to the D6 version of the book module - I'd rather tackle the emulation of these changes myself.

Anonymous’s picture

Ok, I'll wait. Thanks for the reply.

I wonder if the book wrapper is really needed. Haven't seen many modules dependent on the book.module.

inforeto’s picture

The category uses book for navigation and several things not found in taxonomy.
Indeed, the modules depending on book would integrate to category.

Jaza’s picture

Alpha3 of the Category module for D6 has been released. What's new in this release:

  • Category_menu for D6 is here! Category_menu now has:
    • An improved UI on container node forms, with much AJAXy and jQuery goodness thrown in
    • New restriction: you cannot apply category_menu functionality to containers with multiple parents enabled. This makes the menu maintenance code much simpler and much more reliable.
    • Menu settings for assigned nodes are now saved against content types, rather than against containers (although they're still configured through the container editing UI, to keep everything in one spot). I.e. previously, you used to say "I want all nodes tagged with a category from container x to get a menu link", whereas now you say "I want all nodes of this content type to get a menu link (when I tag them with a category from container x)". Once again, makes things simpler and more reliable under the hood.
    • Each container now has its own menu, and the menu links for each category are stored under the container's menu. Previously, all the category_menu-generated links on the entire site were kept under one menu.
    • For top-level containers, you can now specify ANY menu link on the site as that container's "menu parent".
    • And, of course, it's all built on top of the new D6 menu system - which means that it will (at least, it _should_), for the first time, actually scale to thousands of menu items without breaking your site.
  • Book wrapper is here! The book wrapper doesn't depend on category_menu "as such", but it basically won't do anything unless you have category_menu installed and generating menu items. This is because the D6 book system uses the menu system to store hierarchy information. The main features of the D6 book module are (a) maintaining the book table, and (b) providing standard book-module navigation blocks.
  • New "menu wrapper", which is exactly the same as the core menu module, but minus menu_form_alter() and menu_formapi(). This is because the 'menu-on-the-fly' feature in these functions conflicts with category_menu.
  • Plus, of course, plenty of bug fixes. Keep testing, and keep reporting those bugs - all your help is much appreciated!

Notes:
- category_menu doesn't yet set breadcrumbs, it will do this soon.
- there is currently no wrapper install / uninstall script, but you can enable / disable them yourself by renaming the .module and .info files to .module.renameme and .info.renameme, or something like that.

Jaza’s picture

Alpha 4 is now available. What's new:

  • Category_display is here! Features:
    • New JavaScript goodness in the UI, to hide elements when they're not needed.
    • This module now depends on category_menu, and it uses the menu hierarchy to help with rendering most of the elements that it displays.
    • Got rid of the 'link to prev / next distant containers' settings, as I don't particularly find them useful, and as they would have been a lot of work to port. If anyone desperately wants them back, feel free to submit a patch.
  • There is now an upgrade path from Drupal 5, for category, category_menu, and category_display. I've tested it on a D5 -> D6 site, and it seems to work pretty well. More testing probably needed.
  • Wrapper install / uninstall functionality has been ported to D6. Wrappers are still installed by default, but can now be toggled on/off as in D5.
  • Numerous bug fixes. More testing from interested coders is welcome.
Roxpace’s picture

Which other modules does this Alpha 4 not work good with ? What I know there was problems with a few, I think Views was one of them ?

angelobottini’s picture

Version: master » 6.x-2.0-alpha4
Component: Code » User interface
Category: task » feature
Status: Needs review » Postponed (maintainer needs more info)

I'm reading the docs in the category web site.
In the docs section, there is a tutorial about using views with category.
I can't find in the "containers edit" the "category view settings box" to select the custom view that I created.
My doubt is: does this button exist in the Drupal Category 6.x-2.0-alpha4? This function would be very useful.
Is There another way to do this or the view settings box will be added into the next upgrade?

riddleyw’s picture

Let me preface this by saying that I am a newb to drupal (using ver. 6.3). I apologize in advance if these questions seem trivial, but even after reading the tutorial (which no longer seems to match the current version of the module) I'm really lost.

What I'm trying to do is create a hierarchy of classification and have that show up in the navigation menu:

Reviews
- Books
- -Fiction
- -NonFiction
Artilces
News
- Local
- National

I've tried making "Reviews", "Articles" and "News" containers. What do I have to do to make these three Containers show up in the navigation menu? I've tried so many different settings w/in the menu links section that I can't even begin to relate them all!

Thanks for your help!

root_of_roots’s picture

subscribing

kyab’s picture

Hey I need help. I have installed this module on my latest drupal page, now my entire website is not working. I am getting following errors. Can anyone help me out or got similar errors and got through?

Fatal error: Call to undefined function category_link() in C:\xampp\htdocs\mysite\sites\all\Modules\category\wrappers\taxonomy\taxonomy.module on line 44

Thanks in advance!
nyctech

RWWood’s picture

This module is nowhere near ready for use. I installed it on my test site, could not get either containers or categories to show in the menu and then attempted to uninstall it. I had to disable half the other modules on the site to complete the uninstall, and "container" and "category" were still listed under taxonomy. Additionally, none of my books have the admin fields for book outlines.

It might have been a good module for Drupal5, but it's definitely s**t on Drupal6.

aphra’s picture

I have had the same problem. The 'custom menu' setting for a top-level container is ignored.

Although the container edit page apparently saves OK, no menu setting is applied and the entries have gone on re-opening the edit page. Attempting to preview the page produces the following errors:

* warning: array_intersect() [function.array-intersect]: Argument #2 is not an array in /home/xxxxxxxx/public_html/modules/category/category_menu/category_menu.module on line 187.
* warning: array_flip() [function.array-flip]: The argument should be an array in /home/xxxxxxxx/public_html/modules/category/category_menu/category_menu.module on line 188.
* warning: array_map() [function.array-map]: Argument #2 should be an array in /home/xxxxxxxx/public_html/modules/category/category_menu/category_menu.module on line 188.

Afraid I don't know enough about this to suggest a solution!

treksler’s picture

confirmed .. category menu basically does nothing

tandthamera’s picture

Is there any update on this? I really like the idea of this module but am already on Drupal 6 and this module seems pointless if the menu module isn't functioning correctly.

root_of_roots’s picture

Title: [master] Category 6.x » Category port for Drupal 6.x
treksler’s picture

Component: User interface » Category_menu
Category: feature » bug
denislabonkink’s picture

@Jaza

Can I know what remains to be done to complete the port of Category module to Drupal 6?(out of alpha or feature freeze)

lokz’s picture

I wan to report bug in module. After creating category menu and deactivating and erasing module, posted node couldnt be deleted....

warning: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, 'container_node_form' was given in C:\wamp\www\modules\includes\form.inc on line 366.

I think that module should have some kind of protection and warnings in this cases?

Thank you

denislabonkink’s picture

Bug:
-Checkbox to enable Category module is disabled. Need to enable Book module for the Category module to be automatically checked.

-The book wrapper is not installed by default. It says "The book wrapper is currently not installed.". When click on Install Now, it says "The file book.module.php could not be found. Unable to perform the specified operation.".

radj’s picture

Is it illegal to comment on an issue thread just to cheer you on?

Go go go!

Me likey this thingie. ^_^

falk_g’s picture

Jaza we all understand that you may have no time at the moment to continue to develop - for some of us its utterly important that it gets done (as you know yourself its quite hard to revert a site that has already used category). So to make that the cool plugin that it is can you please spend 10 minutes to get through the code and tell us what needs to be done - where there are problems and let the community finish the job? I know you have been bummed by former contributors but at least allow us to submit patches and clean it all up. There seem to be at least 2-5 people here who would take the plunge to get it clean. There has not been any activity from you since 5 month - so please at least tell us what is going on - so we can take appropriate measures.

j0k3z’s picture

So should I install this module or look for something that is actively being updated?

falk_g’s picture

Well its the only module that does offer the functionality but I would still advice against installing it until a future path has been found with the developer who seems to dissapear from time to time ;) Its a very "deep" module means that once you install it and use it for a while its hard to go back as it alters the structure of drupal itself.

darumaki’s picture

subscribe

durst’s picture

I installed the module and my drupal 6 install broke with this:

Fatal error: Call to undefined function category_link() in [...]sites\all\modules\category\wrappers\taxonomy\taxonomy.module on line 44

nothing seems to work... Does anyone have a query I can run to fix this issue?

See, in another cms you would just delete the module and it would be uninstalled... However, if you delete a module in drupal not only the db table is still there but you get funky after-effects on the page.

In this case if i delete the category module I get:

Fatal error: Call to undefined function taxonomy_node_get_terms() in [...]\sites\all\modules\tagadelic\tagadelic.module on line 172

and if I delete that I get yet another error, I assume forever :P

Jaza’s picture

Version: 6.x-2.0-alpha4 » 6.x-2.0-beta1
Component: Category_menu » Code
Category: bug » task
Status: Postponed (maintainer needs more info) » Needs work

After a long break (apologies), beta1 is here! What's new:

  • New feature for category_menu: allow admins to choose the menu in which to populate auto-generated menu links for each container. If admins choose 'default', then the normal book-module-style behaviour still applies, i.e. menu links are put into a 'hidden' menu called 'category-toc-_cnid_'. NOTE: this requires a database update. New update.php function included.
  • category_display TOC listings are now working correctly. Yay! Introduced a new _category_menu_tree_all_data() function to make this possible. TOC depth is now being honoured, and all paths of the tree are being traversed to the specified depth. _category_menu_tree_all_data() is a modification of menu_tree_all_data(), and it maintains its own cache (which is cleared when saving affected categories/containers).
  • Several bug fixes and minor usability fixes (see CVS log).

I have decided to bring the Category module into beta mode for D6, at long last. I am a bit reluctant to do this, as there are still a number of important bugs that are unresolved, and as two non-contrib modules (category_export and category_legacy) still remain to be ported from D5. Nevertheless, I feel that the module is stable enough and feature-complete enough to be considered 'beta'.

All of the tasks that remain as todo items are tasks that can be done by ANYONE. I asked you all to let me tackle the 4 core components myself (category, category_menu, category_display, wrapper modules), as I had a clear idea of the direction that I wanted to take those modules, and as they required an intimate knowledge of the category module's inner workings. Those components are now basically complete. The components that remain to be ported are less tricky, and can potentially be done by someone who's not very familiar with the category module.

Items todo:

If you'd like to help with porting any of the sub-modules listed above, then go to the issue thread for the task of porting that module (all threads linked above), and assign that thread to yourself. Then, post updates and patches to that thread - don't keep posting them to this thread, as this one's getting long enough as it is. I will start assigning some of these to myself - especially if nobody else starts bagging them - but really, this is the perfect time for YOU to get involved. I'm telling you now that without volunteer help, the majority of these sub-modules will NOT make it to D6. I have neither the time nor the need to port most of them myself.

Enjoy beta 1!

Flying Drupalist’s picture

Is 6.2 as tough on performance as the 5.x versions?

falk_g’s picture

THANKS JAZA. Very nice to see progress. Will start my sites 6 port now :)

Jean-Philippe Fleury’s picture

subscribe

jz8408’s picture

subscribing

arjunkr’s picture

Hai After Enabling this Module , I am unable to see administer -> settings -> category, where user can set global settings across the site , is it expected ..?

JirkaRybka’s picture

There's no such a path - everything's at admin/content/category, but you'll see that almost all settings are on per-container basis, so they are present at the container node (so edit your containers to adjust settings).

Otherwise, please open a new issue if you need support - this one here is supposed to be about the process of 5.x->6.x porting of the module. Personally, I'm rather interested if the module maintainer is going to get involved again anytime soon, and perhaps commit some of the bugfixes waiting in the issue queue - that's going to move Category closer to a stable 6.x version.

Jaza’s picture

Beta 3 has just been released.

@JirkaRybka: I've committed most of your (numerous) bug-fix patches to CVS, and these fixes are included in beta 3. Thank you very much for your hard work in submitting patches, in responding to support requests, and in cleaning up the issue queue. Your efforts have not gone unnoticed, and they are greatly appreciated. AFAICT, you don't have a drupal.org CVS account... however, if you apply for one, would you by any chance be interested in becoming a co-maintainer of the category module? You have more than proven yourself to have all the necessary skills, with your recent work; and I'm afraid that I'm finding it hard to fit in the time for category module maintenance at the moment.

JirkaRybka’s picture

Thanks, Jaza. As for the CVS/co-maintainer thing, I'm going to think this through before giving a final word... While I do want to help, I don't have the tools for CVS access set up properly (although I did try in the past, once), and I'm in quite similar situation with available time: I'm basically coming here once a major Drupal version, to solve issues around my site being upgraded (and anything I come across while being there). So the question for me is, whether it's worth the effort to learn the maintainer [CVS related] tasks, and then have nearly no time to really do it. As I said, I'm not decided yet, but thanks for the offer anyway.

One question related to Beta3 and/or further plans: What's the status with #370633: Port category_breadcrumb to D6 and #370641: Port category_views to D6 ? My site needs these, and my versions from the issues work for me. Any chance to see progress on these, too? :D

Jaza’s picture

Version: 6.x-2.0-beta1 » 6.x-2.0-beta3

@JirkaRybka: no problem, I understand that becoming a CVS maintainer does involve investing a lot of time... time that could instead be spent actually coding and making patches. So, if you're just planning to continue contributing patches, that's fine with me too - all I can say is, keep doing what you're doing!!

Re: category_breadcrumb and category_views, I will review these patches in more detail and hopefully get them committed soon. Category_breadcrumb was not written by me, and I don't really use it myself, so I'll only be able to test it to a limited extent - for the rest, I'll have to trust you. Category_views is one of mine, so I'd like to look at the patch more thoroughly.

JirkaRybka’s picture

@Jaza: I'm pretty much done with another batch of patches now. For one thing, I need to stop because I'm quite exhausted, and other real-life issues demands on my time - plus this my activity was initially supposed to be just about upgrade of my site, before the scope widened. Another thing is, that I pretty much "patched myself into a corner" - my patches are beginning to fail to apply / having fuzz because of each other now. In short - I can't go like this forever, so the patches in queue are rather stable now, and really ready for review/commits.

I decided not to try the maintainer duty for now, as I don't believe I'll be here that often after my upgrade is ready, and also because my currently installed environment is most probably not ready for direct CVS access (and won't be until I re-install from scratch on a new computer, which is a thing I don't have time for, now). So I consider that possibility "not worth the trouble", and kind of postponed.

To summarize what's waiting in the queue from me now:

Sub-modules ported to D6: (Patches apply independently of the rest)
#370641: Port category_views to D6
#370633: Port category_breadcrumb to D6

Fixes and improvements:
#484624: Fix all broken category/container previews, and add category_display defaults - The biggest one here. Apply this patch first, might fail to apply after the others.
#481280: Generated menu items vs. menu administration and weights
#457688: Get rid of Menu wrapper, moving functionality to category_menu

Minor cleanup / documentation: (Patches apply independently of the rest)
#484084: Update README.txt and friends
#483978: Remove t() from database schema descriptions

Further bugs discovered: (Currently no patches)
#484660: Distant parenting of categories is flawed - I doubt I'll find time and motivation to analyze this one anytime soon.
#458972: Navigation links PREV/NEXT on categories broken, category_menu_tree_all_data() needs cleanup - This affects my site a bit, but seems like a tough one. I might take another stab at it, but not exactly tomorrow.

I've a few smaller ideas in my mind still, but that's for another time.

JirkaRybka’s picture

After serious performance problems on my on-line site (not upgraded to D6 yet), I was forced to spend a while on this problem - resulting in the (large) 6.x Category patch at #501378: PERFORMANCE! Central caching for category API functions - so that's another one on the list.

The situation is a bit complicated now, as I have so many patches, that they only apply in certain order (this one last), and I really don't have the time and nerve to re-write them, so that each of them apply to clean beta3, just for testing purposes. I know, that I should provide patches against current CVS code, as a good practice, so that they'll get tested, discussed, and committed individually, but frankly - considering the magnitude of stuff to fix, stability level of current code, my own lack of time, minimal (if any) number of testers/reviewers out there, and the frequency of maintainer's visits here, I don't think it's realistic to go fully through a classic Drupal workflow with all these individual patches. Therefore, I focused to just hammering Category package into shape, to get my concerns addressed/fixed, posting all patches with detailed explanations to the queue, and I didn't really anticipate the classic concurrent workflow with the patches.

Anyone willing to test the patches may choose from two approaches now: Either install and test single patches, as listed above, OR just install my fully-patched version, and test it as whole, which might be much more efficient process (assuming there's nothing really wrong, which I really hope there isn't). So, however unusual it might be, I'm attaching a whole Category package tarball, with all my changes and fixes included, to save you all the trouble with applying the above patches. It's essentially beta3 plus all the above-listed patches, i.e. ready for testing.

JirkaRybka’s picture

Additional two - both small patches, and rather minor (fixing errors in watchdog, nothing worse), and both shouldn't clash with my other patches (although I didn't really try). Not included in the above tarball.

#521680: Missing argument error on category/### paths
#521714: Missing JavaScript file in Taxonomy wrapper

nysander’s picture

any news about porting category_legacy?

Jaza’s picture

Status: Needs work » Needs review

Thanks for your enormous collection of patches, JirkaRybka.

Attached is the patch that I committed to HEAD, based mainly on the tarball that you posted (above). The patch contains all of the work collected in your tarball, as well as the two patches you linked to in your subsequent comment. All up, I believe that my commit contained all of the following patches:

#370641: Port category_views to D6
#370633: Port category_breadcrumb to D6
#484624: Fix all broken category/container previews, and add category_display defaults
#481280: Generated menu items vs. menu administration and weights
#457688: Get rid of Menu wrapper, moving functionality to category_menu
#484084: Update README.txt and friends
#483978: Remove t() from database schema descriptions
#501378: PERFORMANCE! Central caching for category API functions
#521680: Missing argument error on category/### paths
#521714: Missing JavaScript file in Taxonomy wrapper

As a result of the enormous amount of bug fixes, upgrades, and performance / usability improvements that these patches encompass, I've released RC1 of the Category module for Drupal 6. No doubt there are still more issues to get through before Category for D6 can truly be considered "stable", but hopefully we're getting close to the finish.

JirkaRybka’s picture

Version: 6.x-2.0-beta3 » 6.x-2.0-rc1
Status: Needs review » Active

Nice to see RC1 :-)

I see no attachment above, but anyway, I did a diff between 6.x-2.0-rc1 and the code running on my site (6.x version on-line for almost one month now, without problems). Apart from $id$ lines and the like, the only difference I see is:

diff -urp --strip-trailing-cr ../category-moje/category.admin.inc ./category.admin.inc
--- ../category-moje/category.admin.inc	2009-06-08 21:46:41.000000000 +0200
+++ ./category.admin.inc	2009-08-05 06:52:53.000000000 +0200
@@ -114,6 +114,12 @@ function category_overview_containers_su
  */
 function theme_category_overview_containers($form) {
   $rows = array();
+
+  $cols = 4;
+  if (variable_get('category_container_hierarchy', 0) > 0) {
+    $cols++;
+  }
+
   foreach (element_children($form) as $key) {
     if (isset($form[$key]['name'])) {
       $container = &$form[$key];
@@ -121,10 +127,8 @@ function theme_category_overview_contain
       $row = array();
       $row[] = drupal_render($container['name']);
       $row[] = drupal_render($container['types']);
-      $cols = 4;
       if (variable_get('category_container_hierarchy', 0) > 0) {
         $row[] = drupal_render($container['parents']);
-        $cols++;
       }
       if (isset($form['submit'])) {
         $container['weight']['#attributes']['class'] = 'container-weight';

I assume this is some additional fix included by Jaza, as it doesn't seem to come from my patches. Apart from that, everything is identical, so I confirm that all my patches got indeed committed, and nothing lost.

As a sidenote, the file contrib/category_views/category_views.schema (now empty) needs to be removed entirely (which I probably forgot to do in my tarball - my bad), but that's quite minor.

Adjusting version and status, after I confirmed completness of the commit (I hope I understood the intention here).

Jaza’s picture

Sorry, forgot to attach the patch... here it is.

@JirkaRybka: yes, the additional fix that you discovered is something that I added at the last minute, while testing your changes. It's just an E_ALL fix - stops an undefined variable $cols message from appearing on the main admin page.

No worries about the category_views.schema file. It is indeed pretty minor, having it in RC1 won't harm anyone, as it will be completely ignored by Drupal 6 core. I'll be sure to exclude it from the next release.

JirkaRybka’s picture

Well, I started another round of patching, because I really want to see a stable (i.e. fixed) 6.x release of Category module before we rush to 7.x. But almost everywhere I look, there's need for additional cleanup, and my enthusiasm (and free time!) expires quickly.

So I got inspired by some other projects and their "roadmaps" for a stable release, putting together a list of issues, that I believe should be fixed. These are currently more or less just my ones, apart from the list of missing 6.x ports, reminding myself where I want to look if time permits, and making them easier to find in the [generally rotting] category issue queue.

Bug-fixes & -reports:
#458972: Navigation links PREV/NEXT on categories broken, category_menu_tree_all_data() needs cleanup
#588346: Placeholder issue: Going to check forum links
#586100: $container->hierarchy not updated correctly, plus code clean-up.
#484660: Distant parenting of categories is flawed
#338750: Fatal errors - category.inc sometimes not loaded?
#548544: Category navigation missing links (Regression after the big caching patch)
#595040: Usability of legacy pages category/% and taxonomy/term/% (Both bugfix and a small feature needed for that)
#628510: Category Breadcrumb Exclude bug (Adding a fix found in queue, already RTBC)

Features:
#275176: Allow two views, one for container page and another for category pages
#251119: Allow various node types with category behavior to be used for free-tagging (per container)

Performance:
#587236: Split form generation code to a separate file
#587218: Performance follow-up: Convert Taxonomy wrapper to the new caching pattern

Remaining 6.x ports (I don't promise to work on these, and we would probably need to check each one, whether it's necessary at all):
#370637: Port category_pathauto to D6
#370631: Port category_legacy to D6
#370642: Port cac_lite to D6
#370639: Port category_transform to D6
#370636: Port category_outliner to D6
#370635: Port category_bulkedit to D6
#370630: Port category_export to D6

Minor clean-up:
#588342: category_node_listing() cleanup
#73668: Order of enabling taxonomy wrapper affects taxonomy based modules (Simplenews, image_gallery) (Documentation part rolled in current patch)

And last, but not least: Cleaning up in the issue queue, which might result in more additions to the list as well. (I've already reduced the queue from 8 pages to 5 by just closing duplicates, already fixed bugs, and obsolete support requests, but there are more interesting posts as well, that need to be checked for validity against recent code, though.)

I'm also going to put all finished patches to my live site for additional testing, if time permits, and report with a summary back here.

Any further help is welcome, as I really can't promise to do it all myself ;-)

_rune’s picture

Dear Category Authors

Firstly I want to give my warmest thanks to you for doing this! Many(!) other modules tries to do this but I think your approach "sucks less" :)

I work as a developer for a danish healthcare company, and we are currently in the process of merging 5 of our old health/medicin related sites into a brand new drupal 6 based one.

We will have about 5000 nodes and after several days of research looking into way too many modules we have finally reached the conclusion that the category module is what we need.

So we will be testing this module with many nodes and will report back on the progress and maybe some patches. Is this the right forum for these reports or should I do it in "groups"?

Have an absolutely splendid day
Rune Kaagaard

JirkaRybka’s picture

I'm just a contributor, not author, but since I recently did some work on patches, I dare to give an answer: The best might be a new issue, of task type and focused on gathering experience with that amount of data, so that this one here stays focused on the 6.x port progress, but otherwise yes, the Category issue queue might be a good place. Unfortunately, there are few people working on this module, and it's reputation in Drupal community is not so bright, to give a sense to using groups. I may be wrong, but I say what I think.

inforeto’s picture

Yes, any testing of the latest versions, dev versions, ports and patches are welcome and needed.
Should you find problems please take a look to see if there's a corresponding patch or issue.

For performance testing you'll need to calculate the number of category nodes not only the total content nodes.
Using hundreds of categories may run into higher loads, so be sure that the server resources are optimized.
For instance, category transform on every node type would lead to having too many categories.

andypost’s picture

Subscribe

Jaza’s picture

Version: 6.x-2.0-rc1 » 6.x-2.0-rc2

Once again, thanks to JirkaRybka for the hard work on all the most recent bug fixes and improvements, and for keeping the issue queue and this thread updated.

I have committed all of the patches from the issues listed in #72 (above) that were ready to be committed (i.e. more than half of them). I have now released 6.x--2-0-RC2 of the Category module, which includes all of these latest patches.

Thanks for the help with this, guys.