Project:Privatemsg
Version:7.x-1.x-dev
Component:Code
Category:feature request
Priority:normal
Assigned:Unassigned
Status:closed (fixed)
Issue tags:filter, pmsg ux

Issue Summary

I had an idea how this can be done and had to try it out..

Imho, that patch is filled with pure awesomeness :)

It contains/changes:
- It moves the header and field theming from privatemsg_list() to theme_privatemsg_list(), because...
-- memory improvement, we don't need to carry that around, pass it to hooks, save it into {cache_form} and so on.
-- it allows other modules to alter $form['#data'] and it will then call (or not call) additional theme function to collect headers and field data.
-- It's a cleaner separation between theming and logic

- privatemsg_filter adds 0-3 tags per thread to the list..
-- can be enabled/disabled, of course :)
-- All tags are fetched in a single query, that should be quite fast
-- It implements it in a way that we should be able to use for participants too.. that would allow us to remove db-specific code, countless user_load() calls from that page and make the list query simpler (separate patch, of course)
-- it is well documented, I think ;)

AttachmentSizeStatusTest resultOperations
privatemsg_tags_list.patch8.39 KBIgnored: Check issue status.NoneNone
tags2.png30.52 KBIgnored: Check issue status.NoneNone

Comments

#1

tagging.

#2

Try a screenshot with longer subjects and more realistic tag names. also subject column should have most width. I realize those are rather minor details but they add much to the 'UX' aspect.

#3

Re-roll with a few simple fixes..

- when the first thread did not contain tags, no tags were displayed at all. Fixed.
- made the subject column atleast 35% wide. This is just a test and will not work on older browsers like IE6 (who cares? :) )
- Long tags are now shortened

AttachmentSizeStatusTest resultOperations
privatemsg_tags_list2.patch9.05 KBIgnored: Check issue status.NoneNone
tags3.png27.78 KBIgnored: Check issue status.NoneNone

#4

Did a re-roll for this. Looking for reviews :)

I think this is now even nicer, together with the actions. See attached screenshot.

AttachmentSizeStatusTest resultOperations
privatemsg_tags_list3.patch9.42 KBIgnored: Check issue status.NoneNone
taglist.png45.82 KBIgnored: Check issue status.NoneNone

#5

Fixed a but that removed the last_updated column from the output.

Looking for reviews, this should be quite ready...

AttachmentSizeStatusTest resultOperations
privatemsg_tags_list4.patch9.97 KBIgnored: Check issue status.NoneNone

#6

Above patch missed a small change, all table columns are now displayed even if there are no new messages.

I'll go forward and commit this and wait a few days to fix bugs if they are reported.

AttachmentSizeStatusTest resultOperations
privatemsg_tags_list5.patch9.96 KBIgnored: Check issue status.NoneNone

#7

Version:6.x-1.x-dev» 7.x-1.x-dev
Status:needs review» patch (to be ported)

Commited to 6.x-1.x-dev, needs to be ported to 7.x-1.x-dev.

#8

Status:patch (to be ported)» needs review

Oh well, that port grow a bit ;)

The patch uses now tablesect for the checkboxes, which eliminates all our code to generate these checkboxes. It also removes theme_privatemsg_list() and instead converts _privatemsg_list_thread() to a #pre_render function, automatically executed before the table is rendered.

AttachmentSizeStatusTest resultOperations
privatemsg_tag_list_d7.patch19.12 KBIgnored: Check issue status.NoneNone

#9

Status:needs review» fixed

Commited to 7.x-1.x-dev

#10

Status:fixed» closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

nobody click here