LAVA Forums Buy cool LAVA gear Forums RSS Feed

Welcome Guest ( Log In | Register )

Tags
(This content has not been tagged yet)
 
Reply to this topic Start new topic
> [Wiki]XNodes
AdamRofer
post Mar 16 2007, 04:34 AM
Post #1


More Active
Group Icon
**

WIKI Moderator
Posts: 47
Joined: 29-June 05
From: Santa Cruz, CA
Member No.: 2496
Using LabVIEW Since:2000
LV:8.5 ,6.1 ,7.1.1
United States us_california Nothing Selected


This is the discussion topic for the wiki article: XNodes

--------------------
Adam Rofer


Tags
(This content has not been tagged yet)
Go to the top of the page
+Quote Post
Ad
post Mar 16 2007, 04:34 AM
Post #















Tags
(This content has not been tagged yet)
Go to the top of the page
Quote Post
Aitor Solar
post Mar 16 2007, 07:50 AM
Post #2


Extremely Active
****

Member
Posts: 262
Joined: 26-January 05
Member No.: 1450
Using LabVIEW Since:2000
LV:8.5 ,8.20 ,7.1.1
Spain spn_Madrid Nothing Selected


Given that there are some differences for XNodes between versions (abilities get deprecated or even dissapear, other are new, descriptions and public names change), I would advise to distinguish between LabVIEW versions, so to have for example a Copy_(LV80_XNode_Ability) article and a Copy_(LV82_XNode_Ability) article, instead just one Copy_(XNode_Ability).

That way we could be prepared for the changes NI could be including right now in a hypothetical future LabVIEW release smile.gif .

But of course, I don't know a word about wiki sad.gif .

Saludos,
Aitor


Tags
(This content has not been tagged yet)
Go to the top of the page
+Quote Post
AdamRofer
post Mar 16 2007, 08:27 AM
Post #3


More Active
Group Icon
**

WIKI Moderator
Posts: 47
Joined: 29-June 05
From: Santa Cruz, CA
Member No.: 2496
Using LabVIEW Since:2000
LV:8.5 ,6.1 ,7.1.1
United States us_california Nothing Selected


QUOTE (Aitor Solar @ Mar 15 2007, 11:50 PM) *
Given that there are some differences for XNodes between versions (abilities get deprecated or even dissapear, other are new, descriptions and public names change), I would advise to distinguish between LabVIEW versions, so to have for example a Copy_(LV80_XNode_Ability) article and a Copy_(LV82_XNode_Ability) article, instead just one Copy_(XNode_Ability).

That way we could be prepared for the changes NI could be including right now in a hypothetical future LabVIEW release smile.gif .


In comparing XNodes between LabVIEW 8.0 and LabVIEW 8.20, it's clear they intend to keep backwards compatibility. This is indicated by this scenario:
Name | Public Name (in 8.20)
BuildPopUp | BuildMenu
BuildMenu | BuildMenu2
BuildMenu3 | BuildMenu3

(The first column is the actual Ability names, not the "pretty" names)
This is what NI did in this instance:
1) They made the Ability BuildPopUp for XNodes in 8.0.
2) They needed something more ("Help Info" cluster), so they made the function "BuildMenu" which was to replace the old "BuildPopUp" without stepping on the old Ability's toes. They also decided that the name "BuildMenu" was more appropriate to this Ability in general.
3) They needed something more ("ID" string), so they made "BuildMenu3". They could have made an Ability "BuildMenu2" but no such ability actually exists. This is because they decided to refer to the "first" item as (public name) "BuildMenu", which means that the (ability) "BuildMenu" is (public name) "BuildMenu2" and to move forward away from the not-so-aptly named previous Abilities (some taken from External Nodes).

This means that you don't have to worry about ever mixing up the names, as long as you always refer to the Ability names, and not the Public names.

Let's say in LabVIEW 8.21 there's a new Copy Ability...they forgot to add in some parameter that would really help. Three things could happen:
1) They decide the name is inappropriate (not likely, the public name is the same), and rename it to, say, ExecCopy.
1a) They might now refer to the "Copy" as "ExecCopy" and thus make the new Ability ExecCopy2.
1b) They might ignore the old copy name and make a new Ability ExecCopy. This results ultimately in what you see happened with "BuildMenu"...the next one after that would probably be ExecCopy3.
2) They decide the name is appropriate and increment the name: new Ability Copy2.

I'm afraid the "Bounds" function (public name GetBounds) will have future names: GetBounds2, GetBounds3...so no "GetBounds" Ability should ever exist.

Ultimately, there's never any overlap, so the Ability names will always be unique and refer to the proper Ability (Public Name doesn't mean anything other than intended name). Deprecation doesn't imply removal at this point.

Hopefully they also stop changing the friggin' names.

--------------------
Adam Rofer


Tags
(This content has not been tagged yet)
Go to the top of the page
+Quote Post
Aitor Solar
post Mar 16 2007, 08:51 AM
Post #4


Extremely Active
****

Member
Posts: 262
Joined: 26-January 05
Member No.: 1450
Using LabVIEW Since:2000
LV:8.5 ,8.20 ,7.1.1
Spain spn_Madrid Nothing Selected


It's not so simple, Adam. I know the difference between public and actual name (hey, I put that in the documentation yes.gif ), but there are more things to consider that can make useful to have a separate list for every version:

1) I'm afraid abilities can be removed. For example, LV8 accepts an MutateToXNode ability that has dissapeared in LV82. This could happen again (though I think it's not usual).

2) Public names can change. That happened from LV8 (where public names and private names were the same) to LV82, and I would bet this will happen again in future versions of LabVIEW shifty.gif .

3) The descriptions for the abilities change from one version to another. Supposedly, later descriptions are more accurate than previous ones, but I prefer to have the original description for each version (though is debatable).

4) And more important, what if somebody wants to develop a XNode in LV8? He goes to the wiki and see that ListErrors is deprecated... but it's not deprecated in LV8, and in fact is the only ability he can use, since ListErrors2 and GetErrors3 are not supported in that version.

Anyway, that was just my two cents wink.gif .

Saludos,
Aitor

This post has been edited by Aitor Solar: Mar 16 2007, 08:56 AM


Tags
(This content has not been tagged yet)
Go to the top of the page
+Quote Post
AdamRofer
post Mar 16 2007, 05:25 PM
Post #5


More Active
Group Icon
**

WIKI Moderator
Posts: 47
Joined: 29-June 05
From: Santa Cruz, CA
Member No.: 2496
Using LabVIEW Since:2000
LV:8.5 ,6.1 ,7.1.1
United States us_california Nothing Selected


QUOTE (Aitor Solar @ Mar 16 2007, 12:51 AM) *
It's not so simple, Adam. I know the difference between public and actual name (hey, I put that in the documentation yes.gif ), but there are more things to consider that can make useful to have a separate list for every version:

1) I'm afraid abilities can be removed. For example, LV8 accepts an MutateToXNode ability that has dissapeared in LV82. This could happen again (though I think it's not usual).

Although it has disappeared, it probably still works in LV8.20...not that I've seen it or seen it work in the first place, it looks a bit similar to ReplaceSelf, which appeared in LabVIEW 8.0. Do you have more information on this Ability? I can see the base construct in LV8 as you suggest, but I haven't seen it implemented. It's possible this was forcefully deprecated (and maybe still existent) because it did something very...buggy or something like that. The AugmentSelf and ReplaceSelf Abilities (new to LV8.20) might be the "heirs."

QUOTE (Aitor Solar @ Mar 16 2007, 12:51 AM) *
2) Public names can change. That happened from LV8 (where public names and private names were the same) to LV82, and I would bet this will happen again in future versions of LabVIEW shifty.gif .


And this is why Public names don't really mean anything but the "intended" name. They can't go back and change the name of old Abilities, but they can change the Public name to reflect how they wish they had named it originally. The older "Public Names" can easily be incorporated into the Ability articles.

QUOTE (Aitor Solar @ Mar 16 2007, 12:51 AM) *
3) The descriptions for the abilities change from one version to another. Supposedly, later descriptions are more accurate than previous ones, but I prefer to have the original description for each version (though is debatable).


I haven't compared the descriptions between the versions yet (I am planning on including the older descriptions for each one also, if different), are there any changes that you've noticed that mark a difference in behavior? I think you're right in that the "latest" description is usually more accurate (after they've used the "newest" abilities). The older descriptions will be incorporated into the articles as well.

QUOTE (Aitor Solar @ Mar 16 2007, 12:51 AM) *
4) And more important, what if somebody wants to develop a XNode in LV8? He goes to the wiki and see that ListErrors is deprecated... but it's not deprecated in LV8, and in fact is the only ability he can use, since ListErrors2 and GetErrors3 are not supported in that version.


And this is definitely your best point. I'm in the process of incorporating such details as "introduced in labview 8.xx" and "deprecated in labview 8.xx". I have the lists from LV8 and LV8.20 and I'm going to make sure LV8 isn't left in the dust.

Keeping the information for LabVIEW 8.0 XNodes is definitely going to happen. I think that the Abilities are similar enough to warrant keeping from having to name each ability with its introduced version number, and if there is any discrepancy then a simple "Description in LabVIEW 8.0" (each version that differs) section in the Ability articles will be present (or maybe "Description in LabVIEW 8.20" for the current descriptions to start), along with "Public Name in LabVIEW 8.0" and any other miscellaneous information we come up with regarding these things.

QUOTE (Aitor Solar @ Mar 16 2007, 12:51 AM) *
Anyway, that was just my two cents wink.gif .

Saludos,
Aitor


Golden pennies indeed...don't worry, things have just started to warm up and I'm pretty picky about wiki formatting (in a good way). I'm going to ensure that everything anyone's found out about XNodes in any version will ultimately be in the documentation. Step one was porting the detailed document you and Dany Allard made. Step two is making sure it's in there in a way that large changes won't have to happen later. Step three is adding all the extra information, and then finding more information to put in there.
thumbup1.gif

- Adam

--------------------
Adam Rofer


Tags
(This content has not been tagged yet)
Go to the top of the page
+Quote Post
Tomi Maila
post Jun 4 2007, 07:55 AM
Post #6


Drawing Tool - LVOOP example application
*****

Premium Member
Posts: 1168
Joined: 29-January 06
From: Helsinki
Member No.: 4014
Using LabVIEW Since:2004
LV:8.5.1 ,8.2.1 ,7.1.1
Finland Nothing Selected Nothing Selected My Blog


I think we should stick to singular form in the page titles i.e. I think the page title should be XNode rather than XNodes.

--------------------
Tomi Maila



Tags
(This content has not been tagged yet)
Go to the top of the page
+Quote Post
Michael_Aivaliot...
post Jun 4 2007, 07:02 PM
Post #7


Confucius say: Crowded elevator always smell different to midget
Group Icon
*****

Admin
Posts: 2363
Joined: 13-October 02
From: Planet Earth
Member No.: 2
Using LabVIEW Since:1994
LV:8.5 ,8.2.1 ,7.1.1
Greece Canada United States My Blog My Gallery


QUOTE (Tomi Maila @ Jun 4 2007, 12:55 AM) *
I think we should stick to singular form in the page titles i.e. I think the page title should be XNode rather than XNodes.
I agree.

--------------------


Tags
(This content has not been tagged yet)
Go to the top of the page
+Quote Post
Ton
post Jun 4 2007, 07:13 PM
Post #8


CCT It
*****

Premium Member
Posts: 1331
Joined: 13-June 05
From: Woerden, Netherlands
Member No.: 2399
Using LabVIEW Since:2001
LV:8.5.1 ,6.1 ,8.2.1
Netherlands hol_utrecht Nothing Selected My Blog My Gallery


QUOTE (Michael_Aivaliotis @ Jun 4 2007, 09:02 PM) *
I agree.

I remember that you made a policy about this, and saw that you moved some things around.
I prefer the singular case as well

Ton

--------------------
Certified LabVIEW Developer
Shouldn't you be programming a Code Repository solution?


Tags
(This content has not been tagged yet)
Go to the top of the page
+Quote Post
Michael_Aivaliot...
post Jun 4 2007, 07:35 PM
Post #9


Confucius say: Crowded elevator always smell different to midget
Group Icon
*****

Admin
Posts: 2363
Joined: 13-October 02
From: Planet Earth
Member No.: 2
Using LabVIEW Since:1994
LV:8.5 ,8.2.1 ,7.1.1
Greece Canada United States My Blog My Gallery


QUOTE (tcplomp @ Jun 4 2007, 12:13 PM) *
I remember that you made a policy about this, and saw that you moved some things around.
I prefer the singular case as well

Ton
Yes, that's right:

Manual_of_Style - Prefer_singular_nouns

--------------------


Tags
(This content has not been tagged yet)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic

 




Time is now: 22nd November 2008 - 05:38 AM