Maintaining a plugin

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • brandonz
    Member
    • Oct 2014
    • 49

    Maintaining a plugin

    Hi Steve,

    I created a hydrogel plugin that is available at febio.org, but also uploaded my .feb files for the accompanying paper to the user projects repository. I was helping a student get started with the plugin and running files from the repo, and noticed files ran through the command line, but FEBioStudio couldn't import the .feb files even though it was able to load the plugin successfully. After looking into it a bit, it seems like (1) there was an input file format change, so my old .feb files weren't being recognized by FEBioStudio, but also (2) I found a comment in the FEBioStudio User's Manual that mentions plugins only work for the specific version of FEBioStudio they are compiled with. For the student, it worked to just convert the .feb files to the new format without recompiling the plugin. Alternatively, recompiling the plugin for the new version of FEBioStudio now allows my old .feb files to import correctly.

    To avoid any headache for potential users, what would you suggest is the proper way for me to maintain both the plugin and user projects files? Since (I believe) both of these exist outside the domain of what you and the FEBio team keep up to date, is it best to keep an eye on major FEBio changes, update .feb files and/or recompile the plugin, and then send you updated files for the plugin and modify the user projects repo as needed?

    Thanks,
    Brandon
  • maas
    Lead Code Developer
    • Nov 2007
    • 3721

    #2
    Hi Brandon,

    That is a good question. Right now, the only guarantee that we can offer is that the plugin (assuming it has no bugs in it) should work if it is built against the same SDK that was built with whatever version of FEBio and FEBio Studio you have installed. This means that if you want to make sure that the plugin works with your installation, you need to build it from the source code with your installed SDK. Using a binary that was obtained from an older version may or may not work depending on how many changes we made to the core classes.

    This is not an ideal situation, but unfortunately at the moment there is not much we can do about this. However, we are working a different mechanism for maintaining and distributing plugins that would eliminate most of the current hassles. In one of the upcoming versions, we are going to add a plugin repository to FEBio Studio (similar to the model repository) where we will distribute plugins that are compatible with your installation. These plugins will be maintained by us through our new automated build system. As a result, you'll be able to download and install a plugin from FEBio Studio and it should work out of the box.

    This new feature is still a few months away though, so until then, if you run into any issues with plugins, my recommendation is to rebuild it from the source code.

    Best,

    Steve


    Department of Bioengineering, University of Utah
    Scientific Computing and Imaging institute, University of Utah

    Comment

    Working...
    X