If all of the list pages were default views (storm/organizations, storm/people), then people could customise as much as they like without touching the code.
Also, a default view would be easier to upgrade between major drupal version than the current custom pages.
This would however mean a mandatory dependency on the views module.
| Comment | File | Size | Author |
|---|---|---|---|
| #24 | storm--default-views-projs-v2.patch | 7.14 KB | juliangb |
| #22 | storm--default-views-orgs.patch | 4.36 KB | juliangb |
| #22 | storm--default-views-projs.patch | 7.09 KB | juliangb |
| #11 | storm_view_01.txt | 60.05 KB | kfritsche |
| #11 | storm_misc_view_01.txt | 33.36 KB | kfritsche |
Comments
Comment #1
JGonzalez commentedThis seems like a way to go. I think it's pretty assumed that most sites running drupal use views or will need to at some point, so the dependency on views isn't a hassle.
The only thing I am worried about is having too many default views - I know I personally dislike modules which bring in 10 of their own views and clutter my views page even more. How many views are we thinking of, or will one or two views with many displays cut it?
Comment #2
juliangb commented@JGonzalez, I suspect that it would end up with a view per module (organization, project, task, etc), so there could be a few overall (~11 if all modules are enabled). Do you know of a way that we could structure them differently / better?
Comment #3
JGonzalez commentedI think we need to figure out a way to drill down "Organization, Projects, Task, Ticket' into a view, have a view for knowledge base, a view for invoices, a view for notes. Any other sections I am missing?
I would say max 5 views. The Calender module for example, comes with a default view, which has displays in it for YEAR, MONTH, WEEK, DAY, among many other items. Combining Organization, Projects, Task, Tickets into a view somehow, would be best.
The view could be multiple displays,
Say the views page(s) are located at storm/*
Organization page would then be : storm/%/ (ORG ID or TITLE)
Project page would then be : storm/%/% (ORG ID, PROJECT ID)
Task page would then be : storm/%/%/% (ORG ID, PROJECT ID,TASK ID)
etc...
Where each display holds the fields for that content type.
What do you think of this method?
Comment #4
juliangb commentedI'm all for it, if it makes things simpler. Would you be able to get involved with this?
Note we also have an issue: #854570: Incorrectly coded views support, which I'd want to commit first (apparently it may cause views to have to be recreated). Would you be able to help out in testing it at all?
Comment #5
JGonzalez commentedI would love to - if it can wait - I'm going on vacation for 6 weeks in 3 days (ahhh, the good life) but will definitely play around with it when I get back.
Comment #6
juliangb commentedHave fun - I've just returned from a 6 week break and they are definitely worthwhile.
Drop by when you come back, and this may have moved on, or may not have done! Time will tell.
Comment #7
Wappie08 commentedHello there, I think this will be a HUGE MAJOR improvement on Storm!
I just installed storm 2 weeks ago and I'm currently busy making 3 panels and 2 views both containing ~5 blocks for the site.
I very much like things JGonzalez stated in #3, think he forgot persons/teams/timetrackings.
I think this will be a major time investment also, customizing the views and making it all work.
I have no experience coding things for views though I can help test things and think about the design!
Greetings Wappie
Comment #8
juliangb commented@Wappie08, you can contribute for this without being a coder by using the views export module - then you can simply attach the export of your favourite views to this issue (remove any personal info first) - we need a basis to start creating the views from.
Comment #9
bigjim commentedsub
Comment #10
Pushkar Gaikwad commentedyep, this is a must for this module, subscribing
Comment #11
kfritscheI don't know if there was any progress on this topic, but because of #1153672: Missing Date API for Views i needed to create some views to test. So i decided to create Views, which maybe helpful here.
I attached my exported views.
Some thoughts and something like a todo list of things thats missing at the moment. Maybe someone have a good idea to one of this points. I haven't done much with implementing new things for views.
the organization, project, task and ticket, person, ... titles should be linkable like the node title-> works, using relations and node_title fieldcomplete permission handling is missing for now, because at the moment, i have no idea how to implement this, maybe an extra permission handling (so we can select it at the permission properties in the display) - Permission at the moment is 'Storm xxx: View all'-> Views does it automaticlyIcon replacement of some fields, like status, category,... - replace this in the theme?-> #902962: Handler for attributes icons in viewsThe currently used urls:
1. View (storm)
2. View (storm_misc)
the storm-xyz is a workaround, otherwise the project list would try to find a project with name xyz. For normal menu entries this works, but not for entries created by the views module. this only happesn, if the view has additional arguments. storm/organization works.
It is a lot of work and i hope, with this i helped a little bit.
Comment #12
juliangb commentedTagging
Comment #13
asb commentedComing from #1178640: Views integration, Views relationships, and Views arguments, subscribing
Comment #14
kfritscheAfter I created the patch to #902962: Handler for attributes icons in views, it reminds me of this issue.
I think the next big steps would be the permission handling and that it would be possible to add links to project, organization, task and tickets. For the linking we need another handler, It should extend views_handler_field_node_link and only overwrite the render, that it displays the text instead of "view".
For the permission i do not have a clever idea right now.
Maybe a filter field, which the user have to add manually to his view, so the admin can decide, if he want the filtering by access or not. If we want to do this automatically, we have to add for each field a handler, where we can manipulate the query. Or we implement hook_views_query_alter or hook_views_pre_execute, but then we have to check, which fields are getting pulled from the database and if there is a storm field present, we add the access_sql.
Any suggestions - manual filter field vs automatic access control by storm?
Comment #15
juliangb commentedAre there specific issues for ... ?
- The permission handling - what is missing at the moment?
- Links to project / org / task / tickets (not sure exactly what you meant by this one)
Comment #16
kfritscheNo there aren't any issues for this at the moment, but would make sense to add tickets.
Okay the permission handling seems to be working. I wonder why, because i didn't see anything which handles this in the code for views and expected this doesn't work. It must be magic by views ;) (Can someone please tell me why? :P )
But the second task still exists. If you have project view, then you can't link the organization, assigned or project manager, its plain text. And you can't get the organization_nid, assigned_nid, project_manager_nid to manual rewrite the output, because only the organization_title, ... is a field. But it would be a common use-case that you link to organization and not only output the title.
Comment #17
juliangb commentedI think views automatically runs standard node access functions whenever you create a view based on nodes. That's good for us!
The second task - have you tried using a relationship? I think this will solve your problem.
Comment #18
kfritscheI didn't test this right now, but i think with relations views should add joins to the query, which we doesn't need there and would slow down the query. Otherwise maybe views notice that it needs no fields from it and doesn't add the join or it will be cut of by the mysql pre processor.
I will test this and maybe will add a link handler, when some of my concerns are proven right.
Comment #19
juliangb commentedYes, you're right in that it would add joins. However, if you're worried about performance, I think a better place to start would be to check the structure of the database tables. I have a suspicion that there are no PKs, which would improve performance a lot.
Comment #20
kfritscheYou are right, with relations this works great. I updated my comment #11.
It seems we have a decent views support now.
I will have a look into the PK thing and will create a new issue, if i found something, because it would be related not only to views.
Before i create issues for the other points, i think here is the right place to discuss views related stuff first.
Next two task would be (if there issn't a solution, which i didn't think of, like the last time):
We have a relation stormperson -> Drupal User, but no relation Drupal User -> stormperson. I think this would be nice, because if you have stormperson enabled, you maybe only want to link to the person not the user. Especially for timetrackings, where you can't link the node author to the stormperson.
The other task would be any good idea, how we maybe add a summary under the view, like in the invoice or timetracking list right now, where the values get added up.
Comment #21
juliangb commentedYes, those additional relations sound useful.
I think for the summaries, we could use views_calc (http://drupal.org/project/views_calc). It'd be better to rely on that than code it all ourselves. Probably worth testing to make sure it does the right thing.
Comment #22
juliangb commentedI'm attaching patches which add a couple of the views that I've been using for testing. They rely on #902962: Handler for attributes icons in views for the icons. They aren't ready for adding quite yet, but are something we can build on.
Comment #24
juliangb commentedUpdated patch.
Comment #25
juliangb commentedI'd like to bring this issue to the forefront, as we're now in progress with the port to Drupal 7.
It doesn't make sense to spend too long getting the existing lists working with custom code, instead we should press ahead and integrate with views.
For the modules described above as "misc", in the sense of people and teams, I propose that we push ahead with the lists as is. For orgs / projects / tasks / tickets / timetrackings, it might make sense to make some changes.
Any thoughts on this at this stage would be much appreciated - I know there are some above too.
Comment #26
juliangb commentedThis task is now being handled via separate issues for each of the lists (modules).