Jump to content

Join me in building a Project Management tool for LabVIEW

Recommended Posts


I would like to use TOOLHELP.DLL (logs crash source and state metrics) inside the application distributed to our customers and build a project management tool that will be written in G and is entirely open source (BSD) and Lavag community developed.

The goal is:

  1. TOOLHELP.DLL will log the bug when the distributed application fails.
  2. Once the user checks for updates this log will be sent to a DB on a LabVIEW issue tracking tool that will be written by each of us in Lavag.
  3. The issue tracking will be written in LabVIEW and not in some external language and will handle multi user and multi projects over the net with time line and milestones organization.
  4. This project will handle basic requirements with reference to the relevant files.
  5. The manager could see statistics over the different project problems and stability.
  6. The project will run in the background and summarize how much time the user was working on each program and file (browser, office... and if it is LabVIEW then how much time was each vi being used) while taking into account mouse and keyboard actions and idle time.
  7. The project will be hosted on line so the community could work on it together and even add plugins (features like nightly builds, scripting tools and/or any other feature implementation in a different or better looking way) while maintaining best practice guidelines and use the project as a test case for new users.

It might take a year since we all have other work to do. It doesn’t matter.

The point here is not just building this specific tool. I could buy such a tool that will almost do what I want it to do and deal with the fact that it will never be perfect and that I’ll never be able to suite it to my exact needs. It doesn’t even bothers me that I’ll probably have to buy and learn to use several packages that each will cover some of my needs and none will handle my basic choirs like handling LV nightly builds. I could have also posted it as a LV idea exchange and wait for NI to implement it and ask me to pay for it.

The point here is testing out a less individual and more communal tool development concept.

Let me know what version of LV you would like to work on and I’ll load a starting point skeleton so we could start our block n’ wire session.

Looking forward to see how this will come out,


Edited by 0_o
Link to post

This partly sound like something I've been discussing with my boss for quite some time.

We're using our own dll - some thoughts on the dll + parser (I'm working in computer vision /inline inspection, which strongly influences my priorities)

a) multithreaded db write (we're solving this with multiple files, see b))

b) time / resource critical (predefined error codes, debugging levels, duplication filters)

c) clever real-time/rolling tailing / filtering

d) push-mode (email, text message) at critical errors in production systems

We're implementing our dll as a c-dll (LV is not our only framework) and I (as the LV nerd) am going to distribute a mnu (as soon as my to-do list allows/the boss bugs me too much). This mnu includes a "send warning/error/info", "send string", "make screenshot" "save config-files" and possibly (at some later point) a trace tool that automatically scripts a "write state info if DEBUG-environment-variable=1" into each file of a project.

I can't supply all of the above code because of my boss, but I am very willing to help with this project and strongly interested in some other parts, too.

I'm using LV2010.


Link to post

Whilst I think this is a great idea. I am somewhat skeptical that the back-end issues reporting/analysis is best written in LabVIEW (PHP/Javascript and an Apache server with MySQL would be my first choice). Perhaps I live on the wrong forum :lol:

However. If you need any help with DB stuff...... I'm in ;)

Link to post

Sorry but imho this is just a example of using the wrong tools for the job. LabVIEW is great but is simply not made for this. You can do this much better and faster in other languages such as indeed php, python, etc...

  • Like 1
Link to post


I"m glad to see there is interest in the general idea. It doesn't matter to me if it is this project or another as long as we try as a community to develop something useful.

Obviously, for this particular task, Perl or Ruby could fit nicely. I could even write a simple solution in access in a week.

The reasons I had for choosing this project were:

  1. Hardware oriented LV project using best/new/trendy methods like MAL/HAL/UI/Actors are out there already.
  2. HW oriented real life projects depend on the type of HW each user has and one project won't be useful to all.
  3. Even though there are tools like bugzilla and req gateway or even esoteric tools like http://www.tslice.com/products/overview/overview.htm, none will fit LV users perfectly since none are open source written in G, thus, a pure LV user won't be able to customize them easily as can users in other languages.
  4. Any good project has to has it's own suited project management tool in a language all the team members know.
  5. I thought this project can be a fun and easy way to bunch together the most used tools and it can grow and develop to incorporate any future standard (undo, simulation, testing, app metrics, UI recordings and replaying, plugins, inheritance, design patterns, load/save configuration per user, translate UI, help, menu, wizard, auto builds, project overview and statistics, logger, command line inputs, API, vimp, JKI's right click framework, how to integrate into LV tools, how to integrate with a LV source control, scripts toolbox, xnodes...).

If you are OK with having hundred different tools in languages you don't always know or in G but not open source than it is fine by me.

I prefer the environment of Eclipse where everything is free and open in order to let the developer work in the friendliest environment.

However, this is not the point here, I simply want to try a community developed project and I don't care which.

Feel free to offer a different project.

Birgit, any use case you want that will benefit most users is welcome. Besides that, the framework I was thinking of is a platform with basic tools that can be expanded with any idea your company has.

In order to convince your boss to spend some time working on this project and share some code just let him/her understand that this will be customizable tool he/she will get for free or at least almost for free. Not to mention making an employ happy. Besides that, such a project might help you by offering code like advanced parallel TDMS access which is no simple and has to take into account advanced issues like buffer size.

ShounR, your feedback is important since you are a very active member and you know what is best better than I do. Thanks for your offer to help out!

Wouter, I love Python. I'm trying to learn Go and my Python days help me a lot.

However, I love LV too and I think the only thing it lacks is the packages and BSD tools other languages have (beside stability). The reason for this is the simple fact that LV is not free and it hasn't got as many advanced OOP users as Java, for example, has. Do you think our small community can change this a bit?

Edited by 0_o
Link to post

Join the conversation

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

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.