Submitted by David_H on 2014/12/20 13:00
I'm still getting my feet wet so I'm making some assumptions with this post that might be incorrect, if so you can correct me.  Let's suppose I want to create two grids, one for professional projects and one for personal projects.  This is just one example, this question could apply to many similar scenarios.  I'm assuming I could:
 
  • Create two different grids that both use "projects" as their primary field, but use some other field ("personal" or "professional" or yes/no of some type) and apply some filter/condition so the appropriate projects show up in the appropriate grid.
  • Create two different grids/fields named "projects - personal" and "projects - professional".
In other words, do I use only one projects field, and use other attributes to decide the type of project, or just create multiple projects fields.  Is there any reason to prefer one approach to the other?
 
Thanks
 

Comments

It doesn't really matter; it's more a question of  how you think, how you picture these 2 lists : are they completely separate ? are they both projects lists but with some differences ? etc. Organizing your fields and grids to mirror how you conceive things makes it easier afterwards. Of course, it's also good to think about the overall structure to not end up in huge field mess.
 
Keep in mind that while it can be good to reuse fields for various meanings (e.g. : use the "OK" field to mean that a task has been read, and to mean that a book has been reviewed,etc.), it can also be confusing and it's sometimes worth it to create new fields for a specific context -- maybe with a prefix to make it easier to recognize. 
 
I'd use the "projects" field for both grids and use a "professional" field to differentiate projects. Or you could have that field named Project_Professional if you don't intend to use it in other contexts.
 
For the professional projects grid I'd have the source set as : projects and Project_Professional
For the personnal project grid : projects
 
You could also have a Projects_Personal field to detail things a bit more -- that field could have an auto-assign equation that would uncheck project_professional when it's check, and the other way around). That would mean that you could have projects without a definition, personal projects and professional projects... unless all projects are made personal or professional by default... It gets a bit more complicated, but not that much. Depends on your need, work flow, context...
 
What makes IQ complicated is that you have structural decisions to make...
 
-------------------------------------------------------
Windows 8.1
Sony Vaio S Series 13 (SVS131E21L)
Ram:8gb, CPU: Intel i5-3230M, 2.6ghz

David_H

2014/12/20 18:38

In reply to by Armando

[quote=Armando]
For the professional projects grid I'd have the source set as : projects and Project_Professional
For the personnal project grid : projects
[/quote]
 
Could you clarify this?  When I go to Manage Grids, select a grid and then Data, I don't see how I can select more than one field for a Source.
 
Thanks

Armando

2014/12/20 20:05

In reply to by David_H

Yes. In fact, the help file isn't coherent about that. But if you go to 5.2.5 Grid Source EditBox  though, you'll get the right info :
 
Dropdown for the Source Box
 
Source takes more than just a Property name, in fact it's also a filter. It's the query that indicates what items are selected for the current Grid. For example, instead of just AddressBook you could put AddressBook and Archived is null to only show unarchived contacts.
 
The reason why Source and Filter are kept separate is so you can keep the Source constant as you tweak the Filter 5.2.4 Grid Filter Editbox
 
When a Grid is first created its Source is set to be the property that matches the Grid's name.
 
When the Source Box has only one field listed (sometimes called a simple Source) then any new top-level-items created in the Grid will automatically have that value set so they meet the Source criteria.
 
If the source contains spaces, it needs to be enclosed with [  ]
 
So a source is basically a filter**, but a filter that remains constant (unless you decide to change for whatever reasons... but that will impact a few things mentioned lower)
 
Another important thing is that IQ will automatically use that special filter (the source) to define what field(s) will automatically be assigned to items. This is why a source that's complex (e.g.: projects and tasks and (DueDate is null or done isnull)) is tricky as IQ will more or less arbitrarily* define what fields will be automatically assigned to top level items created in that grid (in that case : projects, tasks, as those are always part of items shown in the grid). This should be clearer in the documentation and it should be more "transparent" in IQ; either a message box informing the user of what's happening/what will happen in terms of automatic data assignation when source is complex.
 
Edit : Keep your sources simple, in general. Mine are usually one or two fields (they can be of any type) : field  , or sometimes   field1 and field2  ,  or sometimes  field1 or field2 **
 
 
 
*there's a logic behind the choice, but in some cases it's a bit arbitrary. If the source is (InfoQube or projects) or (projects or category) IQ will select the InfoQube field as the default field/data applied to all top level items in that grid.  
** when I chose the more ambiguous field1 or field2  i sometimes define that IQ should assign other fields to items (this is set in the data section the manage grids dialog)
 
-------------------------------------------------------
Windows 8.1
Sony Vaio S Series 13 (SVS131E21L)
Ram:8gb, CPU: Intel i5-3230M, 2.6ghz

Tom

2014/12/21 10:34

In reply to by Armando

[quote=Armando]I'd use the "projects" field for both grids and use a "professional" field to differentiate projects. Or you could have that field named Project_Professional if you don't intend to use it in other contexts.
 
For the professional projects grid I'd have the source set as : projects and Project_Professional
For the personnal project grid : projects
 
You could also have a Projects_Personal field to detail things a bit more -- that field could have an auto-assign equation that would uncheck project_professional when it's check, and the other way around). That would mean that you could have projects without a definition, personal projects and professional projects... unless all projects are made personal or professional by default... It gets a bit more complicated, but not that much. Depends on your need, work flow, context...
 
What makes IQ complicated is that you have structural decisions to make...[/quote]
 
"I'd use the "projects" field for both grids and use a "professional" field to differentiate projects."
wouldnt there be the danger that one might forget to tick the additional 'Professional' field?
 
Using 'Projects_Personal' and 'Projects_Professional' would be much simpler in my opinion -
there would then be no need for complex sources.
 
"What makes IQ complicated is that you have structural decisions to make..."
yeah,
this is a difficult area, more sample files would be good here...

Armando

2014/12/21 11:31

In reply to by Tom

Yes, more sample files/grids, etc. Pierre is aware of that.
 
As for "Using 'Projects_Personal' and 'Projects_Professional' would be much simpler in my opinion" : probably.
 
But, if David forgets to check "Professional", the only problem he'll encounter is that the project will appear in the personal  ones. Also, removing the filter in the professional projects grid (presumably : "personal and done is null") would show all projects, which can be good for an overall view. 
 
like I said, it all depends on how one thinks about those things, how it's supposed to develop, etc. In my case, for instance, it would make no sense project-Personal and projetct-Professional.
 
-------------------------------------------------------
Windows 8.1
Sony Vaio S Series 13 (SVS131E21L)
Ram:8gb, CPU: Intel i5-3230M, 2.6ghz

Tom

2014/12/21 12:55

In reply to by Armando

[quote=Armando]As for "Using 'Projects_Personal' and 'Projects_Professional' would be much simpler in my opinion" : probably.
 
But, if David forgets to check "Professional", the only problem he'll encounter is that the project will appear in the personal  ones. Also, removing the filter in the professional projects grid (presumably : "personal and done is null") would show all projects, which can be good for an overall view. 
 
like I said, it all depends on how one thinks about those things, how it's supposed to develop, etc. In my case, for instance, it would make no sense project-Personal and projetct-Professional. [/quote]
 
Yeah there's pros and cons, mostly minor here (I think).
And it is interesting to think about, and plan it.
 
But note, (IIUC) the danger of forgetting to tick an additional 'Professional' field would mean the project *not* showing under work projects - which could be a dangerous lapse...

Armando

2014/12/21 15:04

In reply to by Tom

It shouldn't happen if Items created in the "ProfessionalProjects" grid have both fields checked (which will be the default behavior if the source is Projects AND Project_Professional ). Then it's more a matter of unchecking Project_Professional when the project doesn't belong there after all. So no problem of disappearing project should arise... in theory.
 
------------------
 
Another (bad) way of setting it would be to always have the Project_Professional field to be checked whenever a project is checked -- simple auto-assign equations in the projects field would do it :
 
A:project_professional=-1
E:project_professional=
 
That will automatically check the professional field when the project is first set, and if the project field is unchecked, it will be unchecked (since it's not a project anymore).
 
This is just an example to show how to play with "automatization".  A bad idea in that situation since projects created in the personal projects grid, will always also appear in the professional grid... which is most probably not wanted as it forces the user to always uncheck the "project_professional" when it's not professional.
 
 
-------------------------------------------------------
Windows 8.1
Sony Vaio S Series 13 (SVS131E21L)
Ram:8gb, CPU: Intel i5-3230M, 2.6ghz

I'll read this thread in details tomorrow, but right off the bat, I tend to create a field for each project. Easiest way is to create a new grid as it also creates the associated yes/no field with the same name.
 
I've also used other mechanism, namely having all projects as TLI items and sub-items for all the stuff associated. You can have a text field, say Project, with inheritance ON, so all sub-items inherit the parent project name. This method works well with billing, reporting and pivot tables. It can give you the "big" picture.
 
HTH