3 Replies Latest reply on Nov 23, 2012 7:22 PM by Craig Hardman

    Sharing Material Databases

    Seth Renigar

      At my company, we have a network shared folder that contains all of the sharable SolidWorks data (i.e. Document Templates, Sheet Formats, Blocks, Material Databases, etc.).


      As it stands, all of these data sets are editable by anyone.  However, we are wanting to "lock down" editability of the Material Databases to a select few people.  I am looking for suggestions on the best way to go about doing this.


      I have thought about simply using Windows permissions on the Material Database files to control this.  However there are a few problems with this.

      1. Our IT dept. frowns upon people setting permission.  I could probably do it if I had to though.
      2. All of our designers have the same Windows rights as me.  Meaning, if someone really wanted to, they could go into the permissions and "unlock" it for themselves.
      3. When I tried this, I set the "Everyone" Group to deny write access, and the material administrators to "Full Control" individually.  This in turn popped up a warning stating that deny takes precedence over allow.  And that if people belonged to multiple groups, deny would take precedence over their allow permissions.  Since the material administrators also belong to the "Everyone" group, I would assume that this would then give them deny (I didn't go through with it to test it).  I am no "permissions" expert.  So, I may be wrong on this.


      So, does anyone else have any suggestions on how to lock down the Material Databases besides Windows permissions?  It may very well come down to using permissions.  But I may have to resort to experts to help me set that up even.

        • Re: Sharing Material Databases
          Craig Hardman

          Does your company use any PDM software?


          We're pretty small, having only two computers with licenses for SW, and store all our data on a "server" (See: 'glorified NAS')
          What I've setup is just a small script that runs on startup that pulls the SW databases from the server to the local machine.
          In your case you would set the folder on the server such that only those who are allowed to modify this data are granted access.
          The sync program follows the following logic:

               1. Get file list from server (including Date Modified) and from localhost.

               2. Compare file lists.

                    a. If filename is found in server.list and NOT found in localhost.list --> CopyTo localhost

                    b. If filename is found in BOTH server.list and localhost.list --> CheckDateModified.

                         i. If DateModified from server.list is < DateModified from localhost.list --> CopyTo localhost

                              else DoNothing

          The reason for building in the DateModified check is so that if needed I can create a local template that has precidence over the one on the server.

          My thinking here is: If your user is tech savy enough to create a file with a DateModified value before it's DateCreated value, I'd assume they can also make a proper template.


          It will NOT push files from the localhost to the server, This way any custom templates your user creates for themselves don't get distributed.

          It will NOT delete any contents from the localhost that are not found in server.list, This way any custom templates your user creates for themselves don't get deleted off their system.


          I'm sure there is a more elegant solution, but without using a PDM, this was the easiest to implement.

            • Re: Sharing Material Databases
              Seth Renigar



              Thank you for your input.  We do have PDM software.  I have went round and round with our PDM support to come up with a solution so that I could implement these databases in the vault.  I asked them if there was some way to setup a folder/area that only gave certain people write access 100% of the time, similar to what I was explaining with the Windows permissions.  The problem that I ran into going this route was that they had no way to allow a file writable on the fly by multiple people.  The file(s) would have to be under a "change" workflow which only gives one person write access at a time. It's not the best PDM software (actually closer to one of the worst).  I wanted to put all of our sharable data in the vault.  Some of it would work ok using the workflows our PDM software uses.  However, the Material databases, as well as a few other data sets that need to be writable on the fly, prevented the possibility of putting everything in the vault.  Therefore, we simply kept everything outside of the vault in a sharable network folder.


              Your solution is interesting.  It does seem a little complex to setup (read: "over my head").  Especially since we have approx. 50 users in different locations around the world.  I do understand the concept that you explained though.  If it came down to doing something like this, it could probably be implemented like that here.  However, I would definitely have to get our IT involved, which I'm sure would end up being a big fat brick wall .  Sometimes they frown upon things like this.  So, I'm sure it would be a fight, at best.  I would really like to find a solution for this that could be implemented without the need for IT support...  Hopefully, someone else has a different solution that will meet our needs without the need for IT support.

                • Re: Sharing Material Databases
                  Craig Hardman

                  Hmmm, that is a tough situation.


                  The way i describe may be best for your needs. Having people all over the world, all you would need to do is distribute an exe file to everyone and have them run it. The only involment your IT department would have would be allowing the program access to the folder and initially setting the permissions of who can read/write to it.


                  To be honest, with that many people using the data, having a pdm with a change order in place might not be a bad thing. It would prevent conflicting copies, etc. So maybe you could do a combo. Have all the base files in the PDM and have people check them out to edit them, and check them back in after. Then that edit would get pushed to all other users. Unless I'm mis understanding your work flow, which is likely. Haha.