Global views from all tasks

Submitted by KO on 2011-11-09

Hi,

First of all thanks for this great app! We just started using it after trying few others and this looks very promising. But there is something we are missing or we just don't know how to do it ;)

We have several customers with several tasks and issues for them. We tried to create those customers as "project" and "folders" for them as needed with "issues". Works fine but there is no way to create one "view" that could show all open issues regardless of project or folder. We have to click through all folders in each project to see issues in them.

So we created one "project" with one "folder" for all issues and added new "type" -> "customer" for issues. This way we can "view" _all_ issues, sort the by priority, customer etc. Problem is that we cannot create user that could only see "issues" for certain customer as they can be limited only by project.

I wonder what would be a way to see all the issues "Globally" regardless of category/folder or clicking trought all of them and still limit them for certain users.

Thanks!

Currently it is not possible to create such summary views, but such functionality is in the roadmap for one of the future versions.

Regards,
Michał

I also think that this is a feature that should realy find it's way into webissues.
At the moment I only have 5 projects and already it's making me crazy to go through all the folders to find the issues.
It would be such a great help to see all issues on a dashboard view or something like that.

It's easier if you use alerts - then you can immediately see if there are new or updated issues in one of the folders.

Regards,
Michał

Yes, but that doesn't allow you to actually work with all tasks at once - sorting by priority and what not. We use the WebIssues web client for our ticketing system here at work, and I have been tasked with adding this "global view" functionality to the system. So far, I have been unable to alter the code to provide this functionality. Can you give me any direction here for doing so? Also, can we expect this functionality in a near-future release?

Any help would be greatly appreciated.

Thanks,
Dan

Hi Michał,

That would be an easy, straightforward work-around.. But if we do that, then we lose our Projects / Folders organization.

I've got it showing all our issues now, but it doesn't work with the Views. So, I was going to just hard-code in to only show Active issues, but this is proving troublesome.

Do you know what I could replace "$queryGenerator->getQueryArguments()" with to force it to show only Active tasks?

$query = $queryGenerator->generateSelectQuery();
$page = $connection->queryPageArgs( $query, $this->grid->getOrderBy(), $this->grid->getPageSize(),
					$this->grid->getOffset(), $queryGenerator->getQueryArguments() );

I tried appending the following to $query, but it gave this error: "The multi-part identifier "a7.attr_value" could not be bound"

' AND UPPER( COALESCE( a7.attr_value, \'\' ) ) = \'ACTIVE\'  '

Thanks,
Dan

It looks like your query doesn't have this part:

LEFT OUTER JOIN attr_values AS a7 ON a7.issue_id = i.issue_id AND a7.attr_id = 7

Regards,
Michał

Great! That did the trick, thank you : )

Here's what I ended up with:

$query = $queryGenerator->generateSelectQuery() . ' AND UPPER( COALESCE( a999.attr_value, \'\' ) ) = \'ACTIVE\' ';
				$query = str_replace('WHERE', ' LEFT OUTER JOIN {attr_values} AS a999 ON a999.issue_id = i.issue_id AND a999.attr_id = 7 WHERE ', $query);
				$page = $connection->queryPageArgs( $query, $this->grid->getOrderBy(), $this->grid->getPageSize(),
					$this->grid->getOffset(), $queryGenerator->getQueryArguments() );

The only problem is we cannot sort - just like the views don't work. So, I attempted to also hard-code the ORDER BY clause, but it errors with: "Incorrect syntax near the keyword 'ORDER'" when replacing the first line with the following.

$query = $queryGenerator->generateSelectQuery() . ' AND UPPER( COALESCE( a999.attr_value, \'\' ) ) = \'ACTIVE\' ORDER BY a8.attr_value DESC ';

It works fine without the ORDER BY clause, and according to the MySQL query that gets generated (without the ORDER BY clause), it should be fine:

SELECT		i.stamp_id, s.read_id, i.issue_id, i.issue_name, sm.stamp_time AS modified_date, um.user_name AS modified_by, a6.attr_value AS v6, a7.attr_value AS v7, a8.attr_value AS v8 
FROM		{issues} AS i LEFT OUTER JOIN 
			{issue_states} AS s ON s.issue_id = i.issue_id AND s.user_id = %d JOIN 
			{stamps} AS sm ON sm.stamp_id = i.stamp_id JOIN {users} AS um ON um.user_id = sm.user_id LEFT OUTER JOIN
			{attr_values} AS a6 ON a6.issue_id = i.issue_id AND a6.attr_id = %d LEFT OUTER JOIN 
			{attr_values} AS a7 ON a7.issue_id = i.issue_id AND a7.attr_id = %d LEFT OUTER JOIN 
			{attr_values} AS a8 ON a8.issue_id = i.issue_id AND a8.attr_id = %d LEFT OUTER JOIN 
			{attr_values} AS a999 ON a999.issue_id = i.issue_id AND a999.attr_id = 7 
WHERE		i.folder_id = %d AND UPPER( COALESCE( a999.attr_value, '' ) ) = 'ACTIVE'

Simply appending the ORDER BY clause to this query should work. Any suggestions on this last hurdle?

Thanks!
Dan

now you have it planned in roadmap?
you have a date/version for implementing into webissues?

this is an important feature for me.....

A few users requested it and I have it on my roadmap, but I don't have any precise version / date schedule.

Regards,
Michał

Hi,

It seems like this is one of the major things that may make me have to move away from Web Issues. Basically we have clients that access their project folders so that they can report bugs. We don't want multiple clients to cross over into other project folders. We have about 30 projects in the system and it's driving my development team crazy that they cannot see what they need to get done without going into every folder all day long. They get alerts but imagine how crazy that can get, getting tons of emails all day long.

Based on the amount of conversations in this thread I would say that this is a very popular request. At the very least have the icon on the parent folder change to a different icon that signifies there is some task assigned to that user that is logged in. This would save hours of work sifting through all of the threads to make sense of what has to get done.

This product is perfect in every other way, but I am getting large complaints from everyone that there isn't a birds eye view of what they each individually need to accomplish. This is coming from both clients and developers.

Wonderful product. Keep up the good work. Maybe we can help contribute in some way?

Dan

I agree that this is an important feature, and just like other frequently requested improvements, it will get implemented sooner or later. Currently I scheduled it for version 1.2.

You can help in many ways, by sponsoring the project, contributing code, translations, or simply testing and providing feedback.

Regards,
Michał