Submitted by Pierre_Admin on 2017/07/10 17:03
Hi IQ Users !

I just completed Using InfoQube instead of relational database: A hands-on example of the many advanced features built-in
 
 
Q & A, suggestions, let's use this page to discuss it !
 
Pierre_Admin
IQ Designer
 

Comments

Maybe I misunderstood "this page".  Do you mean here or on the page you linked to?  I put a comment there but move it back here if it's more appropriate.
 
Wayne
 

Pierre_Admin

2017/07/10 21:17

In reply to by WayneK

Yeah, the idea was to use this page, not the documentation page, to keep the doc clean
 
Pierre_Admin
IQ Designer
 

Page is just about complete now, any comments ?
 
Lots of advanced stuff in there... 
 
Pierre_Admin
IQ Designer
 

Tom

2017/07/12 06:24

In reply to by Pierre_Admin

[quote=Pierre_Admin]Page is just about complete now, any comments ?[/quote]
very impressive Pierre,
I still have to download the file, but really need to study how it is all done, and learn

 "Page is just about complete now, any comments?"
 
The page is incredible and I have the same question as I posed on the documentation page, if you've already created all this, is it possibe to add it to the sample database?

Pierre_Admin

2017/07/12 17:36

In reply to by David_H

Hi David,
 
Thanks, it was quite a bit of work... and reproducing it in the sample would require doing some of it again... 
So the short answer is... you're welcome to practice your IQ skills by reproducing these steps in a sample IQBase and send it over to me, I'll use it as the new sample IQBase ! 
 
Pierre_Admin
IQ Designer
 

"In this solution, book reviews are entered as sub-items of each book. To add a review:
  • Add a sub-item (Ctrl + Enter or use the Review form)"
Is it generally possible for items to find their children on their own without us manually adding the relationship via sub-items?
Maybe something like "Sub-Item Equation" in the Field Management Dialog where we can use an SQL query for retrieving the items in a similar way as row equations do it for the actual field value.

Pierre_Admin

2017/07/13 13:11

In reply to by ethanrox

Hi Ethanrox,
 
Can you expand a little, as I don't quite see what you're after ?
 
Pierre_Admin
IQ Designer
 

Armando

2017/07/13 13:41

In reply to by Pierre_Admin

[quote=Pierre_Admin]
Hi Ethanrox,
 
Can you expand a little, as I don't quite see what you're after ?
 
Pierre_Admin
IQ Designer
 
[/quote]
 
I think Ethanrox asks for something I also asked for at some point (if not, I'm taking advantage of his suggestion to reformulate mine) : assign items to subitems without the need to manually put them there. So, basically, use some equation to send them under the right "parent(s)".
 
"mail to IQ" has something of that sort, so I guess it should be feasible in general through other means.
 
(And sorry Ethanrox if I've distorted your question/request -- if you meant something else, I'm interested to know...!)
 

ethanrox

2017/07/13 16:44

In reply to by Armando

@Armando
 
That's precisely what I meant :) Thanks for clarifying things.
 
Example user case for me:
1. We have an Item like a Book. with Book Y/N field checked + some other data.
No sub-items.
2. We create a Review Item and via SQL PopUp we add the book to this second item.
3. At this point in time IQ auto-assigns the Book ID as ParentID for the Review
 
Now the book has the Review as a subitem.

Pierre_Admin

2017/07/13 16:54

In reply to by Armando

How about a bunch of related functions:
  • GetMainParentID(ItemID)
  • SetMainParentID(ItemID) = NewMainParentID
  • GetParentID(index)
  • SetParentID(index) = NewParentID -- 0 = Delete Parent
  • nbParents  -- already exists
 
Pierre_Admin
IQ Designer
 

ethanrox

2017/07/13 17:18

In reply to by Pierre_Admin

I am not sure I can combine those in a way I can easily assign the relationship, i.e. not knowing the ID in advance.
 
Is it not possible to capture the selected item in the PopupList and add its ID to the MainParent of the item in question after the user has clicked OK?
 
From the book example - points 3.3 and 3.4

Pierre_Admin

2017/07/13 17:27

In reply to by Armando

Other suggestions...
  • How about if the ItemParent field was a pop-up. Changing it there would change the main parent
  • An Item > Parents command
You would then see the Select Item dialog you get when doing a hyperlink (perhaps improved by showing the list of parents when the dialog is opened)
 
Pierre_Admin
IQ Designer
 

ethanrox

2017/07/13 18:18

In reply to by Pierre_Admin

I am all about having a non-readonly ItemParent field + control over the Main Parent :)
 
Would the following be feasible?
 
Adding books to an Author
- an author has AuthorID showed in Authors grid (made visible etc) which is a row equation of IDItem.
- the Author field in the Books grid should have something like this as a SELECT:
"SELECT Item as BookAuthor, AuthorID from Authors"
- the book's AuthorID will be populated after selection (by design now)
- the AuthorID can have an auto-assign to the ItemParent or MainParent -> not sure how the two are implementede together.

Pierre_Admin

2017/07/13 19:42

In reply to by ethanrox

What about simply using inheritance ?
 
 
 
Pierre_Admin
IQ Designer
 

ethanrox

2017/07/13 20:21

In reply to by Pierre_Admin

I haven't used inheritance besides tinkering with it a bit a while back.
Not sure how it could achieve the same result as the proposed steps above?
 
The goal for me is to be able to have an item in GridA where I can manipulate just one field for this item and the Item would become a child of another item.

Armando

2017/07/13 13:35

In reply to by Pierre_Admin

[quote=Pierre_Admin]
In case it wasn't clear, the above page is not just a documentation, it is a real working app !
 
Download it on the first post or here: http://www.infoqube.biz/download
 
Pierre_Admin
IQ Designer
 
[/quote]
 
 
And that real working app is.. IQ, with a specific configuration!
I did a few of those relational things in the past with IQ (for research and marking). The great thing now, is that you can have the whole relational system in one tab, with panes/grids, nicely organized -- as you're showing in your sample.
This is how I tend to work now : group all grids belonging to projects into some general project tabs.

Pierre_Admin

2017/07/13 13:44

In reply to by Armando

[quote=Armando]
This is how I tend to work now : group all grids belonging to projects into some general project tabs.
[/quote]
Exactly ! Also helping is that the load times have been significantly improved for these tabs !
 
Pierre_Admin
IQ Designer
 

Armando

2017/07/13 14:34

In reply to by Pierre_Admin

 >load times have been significantly improved for these tabs
 
yes yes... I need to load the new version and check that out! Thanks!

Hi, Pierre,
 
This "Book Review Process" is a great app indeed, which I think can be helpful to the database I am trying to make and I need to study a lot.
 
And at present after several times reading, I have a question here:
 
I understand the method you used to relate 'books' with 'author' is by using the "Select" SQL query to sort of "lookup" a field from another table as in database world, but  in regard to the relation between 'books' and 'reviews" ( not reviewers ), is it just by drag/drop a review item as a sub item to a parent item (book) ? 
 
If this is the method you are using, what I worry is :  user can easily, or may be by mistake , drag the review on 'book 1' to 'book 2', am I right in thinking this way ?
 
Please kindly guide me.
 
Kind regards,
----
sean lu

Instead of having a text list of author's names, it might be useful to have a list of author links (ie instead of listing "Smith, John" make the name a link to itself using the ItemID).  These links will appear in the author list and you can pick them for the author column in the main view.  This allows you to go directly to an author's listing in the author grid.  At this point, it'd be nice to have a "back" arrow so you can return to your previous position in the main view.  
 
Wayne
 

Pierre_Admin

2017/07/16 17:03

In reply to by WayneK

Hi Wayne,
 
The first part, if I understand it correctly, is quite cleaver and can be done already: Change each Author's name and Reviewer's name to link to itself (Ctrl + K). Now the dropdown in the review item for these will actually a hyperlink to Author and Reviewer
 
For the navigation history, yeah, it's on the list... 
 
HTH !
 
Pierre_Admin
IQ Designer
 

WayneK

2017/07/16 20:46

In reply to by Pierre_Admin

Yes, I was explaining what I'm doing, not making a feature request.  You can create pop-up hyperlink lists this way that could be useful in a number of ways. 
 
I actually wrote quite a big more but erased it because it was getting tedious to explain.  I'm struggling a bit with how to organize and cross-reference the complicated fine details of bibliographic materials. 
 
For example, I have newspaper articles that have been reprinted in various books.  I want to cross-reference these reprints because it's usually easier to find the later book than the original newspaper source.  Maybe it's just a matter of creating a "reprint" text column and listing the book reprints there.  I could make this a popup list based on my newspaper source grid.
 
Wayne
 

WayneK

2017/07/17 15:56

In reply to by Pierre_Admin

The more I experiment with this the more I question the utility of creating an author pick list based on another grid.
 
1) With no pick list, you simply create a text column and type the author's name each time it's needed
 
2) With a pick list based on another grid:
 
a) You have to display the pick list and scroll down to find the author's name.  With long lists, this will take as much time as simply typing out the name from scratch.
 
b) It's worse if it's a new author.  Then you have to pull up the pick list where you find out the author isn't listed.  Then go to the other grid to add the author's name so it'll appear on the pick list.  Then return to the first grid to pull up the pick list a second time, scroll down to find the author, and select the name.  This takes way more time than just typing out the name from scratch.
 
Note that you can't just combine the two systems because if you just type the author's name in the author column, it will not be added to the author grid.  You have to go to the other grid and add it there explicity.  There's no way to "assign" it to the author grid from inside the main bibliographic grid.
 
Maybe I'm missing something but right now, the only advantage I see is that:
 
1) using a pick list forces you to use the same format for each name (eg name vs initials).
2) if you use links (as I suggested above), you can provide a quick way to see the author's biographical info in the author grid.
 
Other than for those reasons, it seems it's quicker and easier to just type out the author's name instead of using a pick list from a grid.  Or if you like a pick list, just create one in the current grid rather than reference names in another grid.
 
 
Wayne

Pierre_Admin

2017/07/17 16:13

In reply to by WayneK

Hi Wayne,
 
I'm not pretending to be an editor, or have any knowledge on how book / journal editing works.
So, you should see this sample app as more of a demonstration of what can be done, not as a fully working solution for editors.
 
That said, your suggestions are more than welcomed and if you can come up with a "really" working sample app, I'll gladly link to it and update that page.
 
Pierre_Admin
IQ Designer
 

WayneK

2017/07/17 17:18

In reply to by Pierre_Admin

Pierre,
 
Yes, understood.  I didn't mean this as a criticism in any way of your set up.  I appreciate the effort that went into what you did and I know the intention is to demonstrate IQ's capabilities, not advocate for any particular set up.
 
I was more or less thinking out loud in hopes that others have gone through this and can offer tips and insights on how they did it.  I thought that was the intent of this thread.  I was giving some feedback on what I've tried and what the advs/disadvgs are. I'm certainly in no position to be telling others how they should do it.  
 
Wayne
 

Armando

2017/07/18 14:59

In reply to by WayneK

[quote=WayneK]
 
2) if you use links (as I suggested above), you can provide a quick way to see the author's biographical info in the author grid.
 
[/quote]
 
Somewhat related
It was suggested at some point that it would be useful to be able copy items as hyperlinks (poiting to themselves, so when you paste them somewhere else, they redirect to the original item).
 
E.g. Ctrl+Alt+C would copy and item as a hyperlink to itself, ready to be paste somewhere else.
 
It would save the user at least 4-5 steps :
[first copy the item text, and paste it where you want.]  then  
1- find the original ID item number and copy it,
2- select the text that should refer to the original item + ctrl+k ,
3- paste the iditem number,
4-OK.
 
Instead you'd just have to press Ctrl+Alt+C, and you have your item hyperlink ready to paste.
I've created my own function to do just that, and it works well (through the properties pane), but maybe other users would like something similar.
 
 

Pierre_Admin

2017/07/18 15:16

In reply to by Armando

The link text would be the item text ? What if the item text changes...
 
Pierre_Admin
IQ Designer
 

Pierre_Admin

2017/07/18 15:25

In reply to by Armando

Done ! Added to Copy Special
 
Pierre_Admin
IQ Designer
 

Armando

2017/07/18 15:38

In reply to by Pierre_Admin

Cool, I think it will be very useful.
I implemented my own version using a y/n field, but a direct keyboard shortcut should be better.
(Yes, the fact that original item text could change could be a problem, but it's never been one for me. The important aspect is the fact there's an actual link to the item.)

Pierre_Admin

2017/07/18 16:10

In reply to by Pierre_Admin

Also added as a sub-command of the Copy Special, so a keyboard shortcut can be set for it. A dialog is shown if there are more than 1 item selected. Works for all views (Grids, Calendar, Surface, etc)
 
Pierre_Admin
IQ Designer
 

Pierre_Admin

2017/07/18 13:36

In reply to by WayneK

[quote=WayneK]
At this point, it'd be nice to have a "back" arrow so you can return to your previous position in the main view.  
[/quote]
It's coming... :
 
 
HTH !
 
Pierre_Admin
IQ Designer