Jump to content

Track VI status


Recommended Posts

When working on a project, I normally try to make a feature working first. In this process I leave some VIs in a messy state or apply incomplete bug-fixes on other vi's.

So I'd like to mark these VI's as 'needs attention', so at a later stage (when ideas arn't bubbling fast or I'm tired) I'd come back.

This idea is scaling up the more I think, as I'd like to put priorities for 'clean-up' done, and also add other marks like 'reuse candidate' or more specific 'TODOs' like 'make Icon' or 'document'.

Any standard solutions or should I code my home-brewed tool?

Home-brewed: I was thinking about a cluster constant which I can quickly set to the desired state when working on the VI and a 'explorer' that allows me to browse a project by the settings of this constant.

Felix

Link to comment

When working on a project, I normally try to make a feature working first. In this process I leave some VIs in a messy state or apply incomplete bug-fixes on other vi's.

So I'd like to mark these VI's as 'needs attention', so at a later stage (when ideas arn't bubbling fast or I'm tired) I'd come back.

This idea is scaling up the more I think, as I'd like to put priorities for 'clean-up' done, and also add other marks like 'reuse candidate' or more specific 'TODOs' like 'make Icon' or 'document'.

Any standard solutions or should I code my home-brewed tool?

Home-brewed: I was thinking about a cluster constant which I can quickly set to the desired state when working on the VI and a 'explorer' that allows me to browse a project by the settings of this constant.

Felix

That's an interesting topic!

I made a very simple "focus.vi" a while ago, it has a required enum typedef input with a series of states (urgent, bug, doc, reuse, etc). depending on the state, a pop-up would show up when the VI is executed ; that's how I leave notes for myself into projects.

That's very basic but it helps me.

I though about improving it / integrate it into the project so that my colleagues could use it too but talking about it with them I realized that there was quite a lot of work so I gave up and keep using my simple "focus.vi".

That said, it would be cool if we could have a LAVA discussion on how should that be implemented into LabVIEW and then drop a feature idea on NI forums so that NI Engineers implement it for us ;)

Cheers

Link to comment

I opted for "Todo" comments with some simple keywords (like <ICON>* and <DOC>. I then wrote a VI that would scan the diagrams in a project, directory or memory and extract the ToDo comments giving me a nice categorised check-list of all the outstanding things to do.

Edited by ShaunR
Link to comment

I thought of this old post of mine when I read your post; you responded with this, (from July 2009) Would it help with what you're doing now?

Oooh. I've not seen that (or forgotten it). worshippy.gif

Mine is a bit simpler and targets todos only. But I love the idea for requirements tracking using comments and it's not a great leap (method is the same maybe just need a tag.wink.gif). I've recently updated mine with a database so you can do queries on different todos so that would make requirements tracking and reporting a breeze.

Did you ever upload it?

Link to comment

You're right, but an underling is should be able to do "CTRL+F" wink.gif

To be fair, this solution is quite simple and have some lacks but it is also quite easy to use and to maintain.

Of course. I was just being pedantic.rolleyes.gif But that does mean that all the VIs have to be in memory and therefore you have to load the whole application which I don't often do until near the end and especially if I'm not working on it at that time.

But I'm a great fan of check-lists and its nice to give someone a list and for them to come back with all the boxes ticked which can then go in the system to prove they have been covered (especially for progress meetings). I even print them for myself and pin it to the wall so tat I have a list of stuff I can cross-off. It's more tracking than anything else (like JCarmodys requirements thingy) and it's super easy to do.

Edited by ShaunR
Link to comment

No, so here... jcarm-ReqHatch.zip

Run jcarm-ReqHatch/Code/ReqHatch.vi to see it work.

Let me know if y'all think that it can be extended into something useful. There's a lot of work left for me to do, and I hope to work on soon it with my next ATE project.

Sweet.thumbup1.gif

Can't try it because of all the jki stuff. But I get the jist of it.

I notice you use a regex to find the labels. Is that because they can be buried in text paragraphs on the BD?

Link to comment

No. It's probably because I was beginning to play around with them and thought they were fun. (I still do. :) )

Bonus link.

They are fun until you see things like this:

^(?((Jan(uary)?|Ma(r(ch)?|y)|Jul(y)?|Aug(ust)?|Oct(ober)?|Dec(ember)?)\ 31)|((Jan(uary)?|Ma(r(ch)?|y)|Apr(il)?|Ju((ly?)|(ne?))|Aug(ust)?|Oct(ober)?|(Sept|Nov|Dec)(ember)?)\ (0?[1-9]|([12]\d)|30))|(Feb(ruary)?\ (0?[1-9]|1\d|2[0-8]|(29(?=,\ ((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)))))))\,\ ((1[6-9]|[2-9]\d)\d{2}))

blink.gif

Regexlib.com is a great place for 'em. And each one has a test button so you can try it out on your own strings

Edited by ShaunR
  • Like 1
Link to comment

One option is to use a Issue tracker (or bug tracker), like Mantis. NI offers the Gateway tool for this, but i don't know if it can track to the VI-level about a state of the VI.

Too slow/too much effort to file a bug.

The situation I was realizing I need this feature is when you are in 'the flow'. You go through implementing a new feature and you touch/change a SubVI in another 'code modules' to make your new implementation working. In this situation making the SubVI 'clean' would throw me out of 'the flow'. I want just a amazon-one-click-buy-button to mark that SubVI as dirty and go back there later, when the 'big-picture' is implemented.

But it would not be a bad idea to have an option to sync these statuses with a bug tracker like mantis (e.g. by writing the status in a data-base), as well as to have any status changes in the Changelog of my SCC (maybe as pre-commit hook).

Felix

  • Like 1
Link to comment

Too slow/too much effort to file a bug.

The situation I was realizing I need this feature is when you are in 'the flow'. You go through implementing a new feature and you touch/change a SubVI in another 'code modules' to make your new implementation working. In this situation making the SubVI 'clean' would throw me out of 'the flow'. I want just a amazon-one-click-buy-button to mark that SubVI as dirty and go back there later, when the 'big-picture' is implemented.

But it would not be a bad idea to have an option to sync these statuses with a bug tracker like mantis (e.g. by writing the status in a data-base), as well as to have any status changes in the Changelog of my SCC (maybe as pre-commit hook).

Felix

So you could use something like a "tagging" RCF plugins with options like "tag as unclean / buggy / need doc".

How about something similar to vugie's "Label Manager", you'd have possibility to apply different tags (editable list) and when you launch the manager, it would search the project you are in to find all the tag.

Link to comment

So you could use something like a "tagging" RCF plugins with options like "tag as unclean / buggy / need doc".

How about something similar to vugie's "Label Manager", you'd have possibility to apply different tags (editable list) and when you launch the manager, it would search the project you are in to find all the tag.

Thats pretty much what mine does. Tags are very flexible and you can add more and more as the need arises. Although I found it easier just to define a tag rather than have a fancy interface for managing them.

  • Like 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.