18 Replies Latest reply on Jun 15, 2016 11:31 AM by Mark Olsen

    Generic file card for all unspecified extensions?

    Steve Soeder

      Does anyone know how to make a generic file card? (i.e. a card that is displayed for all extensions that do not have a specific card to which that extension is attached)




      Does anyone know how to categorize a file based on a folder variable without using a file card?


      I can't figure out how to do this.  It seems EPDM wants all extensions to be specified, and anything not specified just doesn't get a card.

      It also seems that a file card is necessary in order to "read" in a folder card variable.


      What I want:

      I want all files to be categorized based on the folder they are in.  The folder has a YES/NO variable to indicate if the documents inside are "Controlled" or "Uncontrolled".

      Files need to be categorized based on this variable.


      System design attempted:

      I've defined two categories - "Controlled documents" and "Uncontrolled documents"

      The condition for each is:

      Type = Variable,  Variable Name=ControlStatus,  Argument= [Yes for Controlled] [No for Uncontrolled]


      I created two workflows - one for controlled and one for uncontrolled documents.

      The condition for each is based on the file's category (i.e. "Controlled documents" or "Uncontrolled documents").


      I've created a folder card which has two radio buttons for "Controlled" and "Uncontrolled".

      These are tied to the variable "ControlStatus" (argument type is YES / NO)

      When a user creates a new folder, he gets to set this argument.  This cannot be changed later (it is permanent).


      Files created inside the folder have a folder card with a variable "ControlStatus" which is tied to the folder card variable of the same name.
      This way, each file pulls in "YES" or "NO" based on what the folder was set to.



      Right now this works great for any file extension specified in my existing data cards (e.g. solidworks and excel)

      However, if I create a file of an extension not specified in a file card (e.g. ".TXT") then there is no file card associated, so the "ControlStatus" variable is not set based on the folder, and it automatically defaults to "NO" - so the file gets categorized as "Uncontrolled documents", and is put in the "Uncontrolled" workflow.


      I need this to work for all files, regardless of extension.  I am open to any suggestions aside from custom API programming.


      Jeff Sweeney - any ideas??

        • Re: Generic file card for all unspecified extensions?
          Jeff Sweeney

          LOL Nice!


          Yeah, you've been reading my enhancement requests.I have found no way to use wildcard characters for data cards. You have to list every extension that you want the card to use.


          Sorry, I'm not following your problem about the workflows. Assuming you want all files with ControlStatus="YES" to go in one workflow, you could say all files with ControlStatus != "YES" to go into the other. So this way your "NO"s go in one workflow AND files without a data card would go in their too, because they do not equal "YES" either...

            • Re: Generic file card for all unspecified extensions?
              Steve Soeder

              Hi Jeff,  I didn't know you had an enhancement request on this.  I will vote!


              Maybe it is better to state the desired behavior:

              1. User creates a folder.
                  1. User has to choose "controlled" or "uncontrolled" for the folder.
                  2. Once set, this cannot be changed.
              2. User creates any file inside that folder and it enters the appropriate workflow (either controlled, or uncontrolled)
                  1. All files created inside a "Controlled" folder must go into the "Controlled" workflow, regardless of file extension.
                  2. All files created inside an "Uncontrolled" folder must go into the "Uncontrolled" workflow, regardless of file extension.


              Problem is this:

              A user creates a file in a folder marked "Controlled" that has an extension I have not added to my file card (lets say this user has some special type of software that just came out and didn't exist when I created the file cards).

              Since there is no file card associated with this file extension, I have no way to tie the file card's variable "ControlStatus" to the folder card's variable "ControlStatus".

              Since I cannot set the file card's "ControlStatus" variable, it defaults to "NO" and the file is categorized as uncontrolled and added to the uncontrolled workflow.

              This is not inline with the desired behavior (file is inside a "controlled" folder so should enter the "controlled" workflow)

                • Re: Generic file card for all unspecified extensions?
                  Adrian Velazquez

                  So why can't you generate that generic card and list (or copy paste), file extension of the Non-Solidworks files?

                    • Re: Generic file card for all unspecified extensions?
                      Steve Soeder

                      Adrian, I can't define all the extensions because I don't know every possible file extension in existence.

                      With EPDM once a file is categorized, it can never be changed.  I want this behavior (permanent categorization) because I don't want it to be possible for a user to change a file from the controlled to the uncontrolled later in the life cycle.  I will deal with this on a case by case basis as the administrator if necessary, but 99.9% of the time this will be the desired behavior.


                      So the only possible solution to this seems to be having to maintain a list of every piece of software used on every machine where the EPDM client is installed, and then having to update the generic card with every new file extension every time a new piece of software is installed.  This would be almost impossible to keep up with. (most users in our organization are allowed to install new software as they need to, and this can not change)


                      I'm open to other ways of determining the category. I've stated my requirements above, but to reiterate:

                      1. The file needs to go into a category based on the folder value.
                      2. The folder value needs to be chosen by the user (so not established in the administration tool).
                      3. All files need to adhere to this rule, regardless of file extension.


                      That's basically it.  I'm open to any way to do this in EPDM without using API programming.  I follow a very strict rule of no custom software for process critical functions.

                        • Re: Generic file card for all unspecified extensions?
                          Adrian Velazquez

                          You can just copy them from here (user settings):


                          and here (variable attributes):


                          If a file that is not listed there, goes thru your system, EPDM won't added anyway

                            • Re: Generic file card for all unspecified extensions?
                              Steve Soeder

                              Adrian, I don't think I'm being clear.  The issue is less with current state, as it is with maintenance.  I can think of a million and one possible ways this is inviting disaster, but lets look at one scenario:


                              Lets say I copy all file extensions and create my file card and my rules.

                              Lets also say I have 5 users.


                              My manufacturing engineer uses an application for designing fixtures.  Let's call it "FixtureWizard" and it has the file extension ".FWiz".

                              Every fixture needed to make a part is stored in the projects folder, which is a "controlled" folder.

                              All files in this folder should be part of my controlled workflow (which is where I have setup our approval processes, change processes, etc.)


                              6 Months from now, the FixtureWizard company releases FixtureWizard v2.0.

                              My ME updates, and in this newest version they've changed their file extensions to ".FWizx"

                              Obviously, ".FWizx" is not on my file card list because it didn't exist 6 months ago.
                              He doesn't tell me he upgraded, so now he starts designing new fixtures and they are not being properly categorized, so they do not enter the right workflow, and are not being properly controlled.  We now have documents that are out of control and our control system is broken until I can fix this.




                              Now multiply the number of users and the number of applications being used, and lets also say that all users are local admins and have the rights to install new software on their machine as they need to.  You can see how quickly it becomes impossible (or at least totally impractical) to keep up with the file extension list on the generic card.

                                • Re: Generic file card for all unspecified extensions?
                                  Adrian Velazquez

                                  Steve are you the Admin of this implementation?

                                      • Re: Generic file card for all unspecified extensions?
                                        Adrian Velazquez

                                        Not trying to be a smart a** or anything, but based on my experience, I would advise that you first assess with your team/users what files(and their extensions) you want to manage in the EPDM Environment you setup. In order to have it be an efficient Vault Environment that type of control needs to exist. There is a reason most file types have their own card, and that so that they're managed. As you have identified already, a free-for-all environment is not a good idea. Users should have some sort of direction/training on what to do with specific file types.

                                          • Re: Generic file card for all unspecified extensions?
                                            Steve Soeder

                                            Adrian,  I really wasn't looking to have a debate on document control systems, but just looking for an answer on how I can get a folder variable into all new files created inside that folder.


                                            However, with that said, I am certainly working with my users on this implementation, and given that I am a user, my goal is to make this system as easy to use for them as possible!

                                            From an organizational standpoint (think of this from a LEAN approach if you will) my approach is simple and flexible, and makes a lot more sense than does having to dictate the acceptable software ahead of time and then train everyone on what can or cannot be added to the vault, limiting choices and creating bottlenecks when a new software is installed or existing software updated.


                                            To be clear, as the EPDM administrator my job is to ensure the document control / document management process is as robust as possible while remaining as flexible as possible; the goal is to make my user's jobs easier while ensuring document integrity in all stages of the product development life cycle. I am not part of IT (I'm actually part of engineering) and I am not, nor should I be, responsible for determining what software can or can't be used in every department.


                                            It is critical that subject matter experts are free to install the tools they need to do their jobs without needing to wait for me to make changes to a list of acceptable file types. 

                                            At the same time, it is equally critical that we adhere to the most basic principals of our document control system for all files that support the development of a product.

                                            These two points are not up for debate.  If you wish to discuss this, you can send me a private message through the forum.


                                            The goal of this system I am trying to create, is that I can establish a base level of control for all files, and then "tighten the screws" only where needed (e.g. for known file types or special folders).  This ensures a maximum level of freedom, while meeting the minimum goals of document control.


                                            By having a base level "controlled" or "uncontrolled" classification, everyone is free to use the software they need to get the job done without having to worry about whether or not a file type is approved to be in the vault.


                                            I very strongly believe that having an extra step where I have to add a file extension to a list before they can enter that file into the vault will result in strong pushback and user's being reluctant to adopt this system. (I'll tell you from experience that having a process like this where one user must essentially ask a peer or subordinate for permission to do their job, and wait while that person fulfills their request, will breed contempt for the new system will result in people trying to shortcut it which will defeat the purpose and may make things worse than the old system. And again, from experience, once disdain for a system is created, it becomes much more difficult to implement the system effectively as it must be overcome)



                                            As a real world example, we have a lot of custom designed equipment in our lab, and a lot of this runs custom software for carrying out specialized tests.

                                            I've seen it happen, when running multiple tests to compare the results of a simple parameter change, it's all too easy to accidentally saved over another file and then we've lost the record of what parameters were used to test that batch of parts. Best case, we captured the data we needed and it's not a big deal. Worst case, this was a comparison study and we need to start all over because we no longer have the data we need to compare test methods to results. As you can see, this is where document control is strongly needed - yet I cannot restrict my lab engineer's ability to do their jobs by making them wait on me everytime they need a new extension added to a list.  They will never use a system like that, and we are once again out of control.

                            • Re: Generic file card for all unspecified extensions?
                              Steve Soeder

                              Jeff, I've voted for SPR 693475 (ER 1-7721807676) which is the only one I could find for wildcard characters in file extensions within EPDM data cards.
                              If this is not yours, please let me know the ER or SPR number so I can vote for it.  I can think of a ton of other uses where this would be needed.

                            • Re: Generic file card for all unspecified extensions?
                              Greg Rupp

                              Hi Steve, I can see you are quite passionate about this. I must say in all my experience this has never been an issue. I would strongly urge you to setup your system without worrying about new file types so much. That said, there is a SQL option that you could call in an api. I'm not 100% certain this will work.. but in theory it would.


                              1. create a generic card in the Admin tool.
                              2. create an add-in that gets the file type and project folder on "add to vault" (EdmCmd_PreAdd)
                                1. Check to see if that file type already has a card associated to it.
                                2. if yes, do nothing, if no, run the following SQL to add the new file extension to the generic card.


                                                            exec VaultName.dbo.Crd_AddExt @CardID = ##, @Ext = 'AAA', @FolderID = #####


                              Where ## is the internal ID of your generic card, AAA is your file extension (NO '.'), and ##### = your internal Project ID (the folder id) the file is being added to.



                              The concern I have with your overall process is what do you do after the file type is assigned to a generic file card? Will you then go into the system at a later date and assign the file type to a different data card? does everything in your vault stay as  a generic file card?


                              There's no need to answers any of the questions above... they are just for you to ponder.


                              Good Luck.

                                • Re: Generic file card for all unspecified extensions?
                                  Steve Soeder

                                  HI Greg,

                                  I just want one generic card.

                                  This card would show for every file that does not have it's own special card created.

                                  In the administration guide it states that if an extension is on an existing card, and you create a new card with that extension, it will move the extension to the new card.  This it the behavior I want so should work perfectly.


                                  I appreciate your feedback on the SQL solution.

                                  For now, I am trying to find a way to do this without using any custom programming.

                                  I don't want to get into that debate here, but lets just for now see if there is a way to do this using EPDM without creating or purchasing a custom add-in.


                                  And yes, I realize I am thinking pretty far out into the future on a lot of these things, but I think you have to when setting up a system like this.

                                    • Re: Generic file card for all unspecified extensions?
                                      Greg Rupp

                                      Sounds good. I apologize... I misread your first post... I glanced past the last few words... my bad.


                                      Steve Soeder wrote:

                                      I need this to work for all files, regardless of extension.  I am open to any suggestions aside from custom API programming.

                                        • Re: Generic file card for all unspecified extensions?
                                          Steve Soeder

                                          No worries.

                                          If there is truly no way to have a base level categorization without a file card, or have a generic file card (which really is kind of sad - get your s**t together EPDM!!) then I will probably have to look at API.


                                          I'm actually not opposed to API, I'm quite fond of it.  I just have a lot of experience going down that road, and from my past experiences there is one rule I follow for custom software (add-ins, macros, whatever)


                                          1. The end result of the process must be achievable without the software.


                                          That's it.

                                          The reason is that if the software ever breaks, or stops working, or there is an error, or whatever - the users must still be able to do their jobs without it.


                                          I use some pretty extensive custom add-ins for solidworks currently - some are quite complex involving reading from and writing to multiple MS SQL databases - but all of the actions performed by them can always be done without the software as well.  Because I know it might not work 10 years from now.

                                    • Re: Generic file card for all unspecified extensions?
                                      Lee CS Young

                                      If you don't know what the future file types are, how do you know if you want them controlled or not? What's the default? If it's uncontrolled, why do you care about a data card?


                                      Just askin'.

                                        • Re: Generic file card for all unspecified extensions?
                                          Steve Soeder

                                          Lee, I want to give the user freedom to choose.

                                          The "default" is whatever the folder you are working in is flagged as.

                                          If you are working in a folder flagged "controlled" then all new files created in that folder will be categorized "controlled".

                                          If you want to add some files in that folder that you don't want to be controlled, you can just create a folder within and flag it "uncontrolled' - then any documents in that subfolder will be categorized "uncontrolled".  The point is to give the user of the system freedom to do as they need to while making the process as simple and transparent as possible.



                                          I really could care less about a file card - I just can't find a way to categorize by a folder card variable.  The only option I seem to have found is to tie a file card variable to the folder card variable, and then I can categorize by that.

                                        • Re: Generic file card for all unspecified extensions?
                                          Mark Olsen

                                          Another example of why wildcards would be great, is ProE files.  They end with a number.  So, I have had to add every number from 1 to 100 to the file extension list.  And I hope no one goes beyond 100.  Not cool.