CC3+: Issues with "losing" C:\ProgramData

Not sure if anyone else has experienced this, but I ran into an issue over the weekend where I "lost" access to c:\ProgramData. Since c:\ProgramData is hidden by default (on Windows 7.1) and CC3+ File Manager remembers the last directory you navigated to, it is possible to "lose" the c:\ProgramData directory and not be able to get back to it. If you navigate away from c:\ProgramData while hidden and then close the File Manager, you'll never find it again until you change the visibility of the folder.

On my system, I've exposed c:\ProgramData but this does not seem like a good solution long-term i.e. Microsoft had it hidden by default for a reason. I think that the idea behind c:\ProgramData is that it is to be used to hold information used by the Program that should not be accessible by the User (normally). That would at least explain why its hidden. Unfortunately, example maps, menu configurations, etc. are also stored by CC3+ is this directory - those things should be stored in a User Data directory of some sort since they are meant to be accessed and modified by Users.

Something for the ProFantasy team to consider. Suspect it is going to confuse some users.

-------------------------------
R A Jacobs
Learning CC3+ @ Funny-Shaped Dice

Comments

  • I'm actually glad you brought this up. I've been writing up the instructions for installing the CSUAC symbols for CC3+ and was wondering if most users exposed their hidden folders and files of if I needed to include instructions on how to do that. I've always just exposed all of my files when I get a new system, including system files, because I hate not knowing what is on my own computer. But I don't know how common of a practice this is.

    I'll be watching this thread to see what everyone's views on it are.
  • I would say most computer techs don't like hidden files and folders either. Program Data is not hidden on any of my computers.
  • I'm the same. I can't stand not knowing what's on my hard drive.
  • Sure. Most "computer techs" and some more technically savvy users may - but those are only one segment of the user population, I'm sure.

    During install, you have the option to change it - however, most people are going to accept the defaults and for many people this is going to cause an issue. I've been in IT for 20 years. I've been a Lead Java Developer, Team Lead, Project / Program Manager, and Enterprise Architect. Even with that background, it initially confused me when the situation came up for two reasons:

    1. Some of this data is User Data, not Program Data. Because I could get access to it initially, I figured "Great! CC3+ has access to that directory!". Later, when I couldn't find the data, I initially interpreted it as a bug. Then my experience kicked in and I realized that the folder was hidden. (I don't unhide folders just because they are there. That's like setting permissions to 777 on a Unix machine or logging in as Admin just because you can; there are good reasons to restrict even your own access to data even though you know it is there).

    2. Microsoft hides this folder by default. Just because *you* unhide it, does not mean that the vast majority of users will. If the folder is hidden by default, you have to ask yourself: why is that?. Most of the time, folders are hidden by default because the materials inside of them are not supposed to be manipulated or messed with by users. While you may not have issues, with this folder exposed, there are users who are going to screw themselves.

    I bring this up because I think it is a risk. In the end, it is up to ProFantasy - they have to field the calls and handle the support requests. When you consider that it is still common to have to explain to people the CAD command pattern "Command -> Select Object -> Do it!", do you really want to explain to them how to unhide folders that Microsoft, by default, has encouraged them not to dig through?

    I'd rather keep data that is needed by the *program* separate from data that is meant to be manipulated and changed by a *user*. Just like Microsoft has a recommended place to store ProgramData, they have a recommended place to store User Data: C:\Users

    Just because you can access everything that is on your computer does not mean that you need to or should at all times.

    -------------------------------
    R A Jacobs
    Learning CC3+ @ Funny-Shaped Dice
  • edited February 2015
    @Shessar: Despite my comments above, I would recommend you follow the pattern established by ProFantasy. If they install symbol data in c:\ProgramData, you should as well. However, remember that a user can adjust where they install this information - c:\ProgramData is just a default. If the install is programmatic and there is a way to read where the data is stored - like in the registry or something - follow that pattern. If the install is manual, I would recommend you instruct users to install to the same directory as they installed ProgramData during installation. Provide fallback instructions that refer the user to instructions (online) where they can find out how to unhide ProgramData. If the user does not remember or is unsure of where they installed, provide instructions on how to unhide ProgramData and where to look within that directory.

    You should follow the pattern established by ProFantasy because I would rather the experience be consistently "flawed" than inconsistent and whether, and to what degree, it is "flawed" is obviously an opinion. Inconsistencies cause User confusion and that should be avoided.

    -------------------------------
    R A Jacobs
    Learning CC3+ @ Funny-Shaped Dice
  • Simon RogersSimon Rogers Administrator, ProFantasy Traveler
    MS don't mean program data to be accessed by users by default except through the program interface.

    There are certain elements where there is an argument that we should install elsewhere - documentation in particular - but no, we don't put files which if manipulated casually will cause the interface to break in user folders, which are supposed to be free for users to manipulate. All the templates, examples and symbol catalogs are accessible and editable through the program interface. If a power user can't find the program data folder, they probably shouldn't be editing menus.

    This is an issue for third party providers of symbols. but again, that's a single problem to be solved at the third party / ProFantasy end, not the user end.
  • edited February 2015
    Hummm.

    Since I know that I would be unlikely to listen to some random schmuck on the internet telling me to change properties on folders that Microsoft feels should be hidden, then I, as a random schuckette on the internet, have no right to ask someone to do so.

    Therefore, I am putting the CSUAC for CC3+ project on hold until I get some sense of how Profantasy is going to handle users wanting to access symbols and bitmaps from multiple styles. I have no desire to be responsible for someone mucking up their ProgramData folder.

    @RA Jacobs: What were you doing when you "lost contact" with your ProgramData folder?
  • MonsenMonsen Administrator 🖼️ 81 images Cartographer
    @Shessar:
    You should never need to tell them to change any properties on the ProgramData folder. If they have their install in the default location, it is much better to refer to it as %ALLUSERSPROFILE%\ProFantasy\CC3Plus anyway. This ensures a correct reference even on nonstandard installs of windows, and can be used regardless if the folder is hidden or not. (If they changed the destination dir during install, they will have to know it themselves anyway.) And from inside CC3+ (In menu files, fill style references, etc, this directory should always be referenced with @, which is a reference to the CC3+ data directory.


    For anyone "losing access" to their CC3+ files because ProgramData is hidden, typing in %ALLUSERSPROFILE%\ProFantasy\CC3Plus in any explorer dialog should get you right back.
  • @Shessar: It took me awhile to figure out how I "lost contact" with the ProgramData folder. From what I was able to reconstruct, when first installed, the ProgramData folder is visible in the Folder Manager. I was working with one of the example maps that are stored there. I believe I navigated away from the ProgramData folder in order to open a different map or load a different resource. I believe I worked with that resource and left CC3+ (I was jumping back and forth between CC3 and CC3+ studying differences, etc.).

    Because the File Manager remembers the last folder you were looking at and because the C:\ProgramData was hidden on my system, when I next launched the File Manager it could not see the ProgramData folder and, as a result, I could not get access to a different example map that I wanted to look at. I don't have access to CC3+ at the moment - won't for about 8 more hours - I'll try to duplicate the exact steps.

    Unhiding the c:\ProgramData folder resolved the issue - which is why I'm bringing it up. As Simon and I point out above, ProgramData is not supposed to be accessed by Users. Hide your ProgramData folder and see if you can duplicate what I'm talking about. You may need to shut down CC3+ after you navigate away in order to clear any in-memory cache of the folder structures.

    To me this seems like an issue because new users are routinely referred to the Examples folder by the User Guide in order to learn the tool.

    Not trying to stir the pot. Just trying to make this great tool easier to learn by all.

    -------------------------------
    R A Jacobs
    Learning CC3+ @ Funny-Shaped Dice
  • Simon RogersSimon Rogers Administrator, ProFantasy Traveler
    edited February 2015
    Not being able to access program assets from within the program is clearly an issue which does need to be resolved. Strangely it's not emerged as a problem in testing, or otherwise.
    Posted By: ShessarTherefore, I am putting the CSUAC for CC3+ project on hold until I get some sense of how Profantasy is going to handle users wanting to access symbols and bitmaps from multiple styles. I have no desire to be responsible for someone mucking up their ProgramData folder.
    I guarantee you that 99% of CSUAC users would prefer to have the option, whether they had to unhide anything or not. Additionally, the installation can happily install in the right place without the user having to unhide anything - we'd even be happy to write a wrapper for it here if you supply the files.

    Edit: We are facing the issue of writing lots of tiny installations, so we need to find a neat a straightforward way of doing this.
  • Simon, the offer to write an installation wrapper is appreciated. Let me think on this because users will still need to download the art assets from the Vintyri site, then unzip into the program data folder. I don't know how or if you could help accommodate this.I know that Profantasy has a lot on it's plate at the moment with the need for compatibility updates, so maybe when you have a bit more time we could discuss it.

    For now though, Monsen has given me the answer I need. I figured out the use of the @ symbol, but didn't think to use the %ALLUSERPROFILE% environment variable for opening the ProgramData directory. This will work just fine for now. It also solves the problem of how to get back to a hidden data directory after navigating away from it.

    I hope that some easier way can be found to open art from other styles. If not, I have a feeling that many, many CC3+ users will have unhidden data folders. :)
  • Shessar, if you need me to test a new install you are working on, just let me know. I'll test it on my computer.
  • Thanks JimP! I could use your help when it comes to it.
  • As promised, here are the instructions for recreating the lost" c:\ProgramData incident. It was easy enough.

    I'm assuming your system is presently configured to display hidden folders, files and drives so first we need to setup your system like a brand-new, non-IT savvy individual who accepted the defaults during installation. To get to that point, we need to go into the ProgramData directory and open one of the Example maps so that the File Manager remembers the directory:

    1. Navigate to C:\ProgramData\ProFantasy\CC3Plus\Examples\ folder and open the "ES-Tutorial01.FCW" file.

    Now hide C:\ProgramData. Pretend you are not in IT, tech savvy or care about knowing everything that is on your computer in every folder.

    1. Configure windows to hide folders.
    a. Windows Explorer > Organize > Folder and search options. The "Folder Options" dialog will display.
    b. Click the "View" tab in the "Folder Options" dialog.
    c. Locate the "Hidden files and folders" section
    d. Click the radio button labeled "Don't show hidden files, folders and drives"
    e. Click "Ok". The dialog should close.
    2. Confirm c:\ProgramData is hidden by verifying that it is no longer visible within the Windows Explorer

    At this point, you should be in the "default" state of the average Windows user: CC3+ File Manager is aware of the ProgramData folder just like it is on initial start-up following install and you've restored ProgramData to the recommended (by Microsoft) default state.

    Now let's "lose" the folder:
    3. Launch CC3+
    4. Click File > Open.... The File Manager dialog should open.
    5. Verify you can see the ProgramData folder tree by clicking the drop-down button to the right of the "Look in:" select control. You should see the same folder structure I had you open previously: C:\ProgramData\ProFantasy\CC3Plus\Examples\
    6. Navigate *out* of the folder structure and (importantly) open a map. For example, one that you downloaded to your desktop from the forums, one that you started to create and stored in a personal directory, whatever. Be sure to open the map so that the File Manager remembers that location.
    7. Click File > Open... The File Manager dialog should open.
    8 C:\ProgramData is not accessible.

    Obviously, it is still there - you just can't see it any longer which means you can't navigate back to the Examples folder to work with the Tutorials, etc. This could be a real (and confusing) problem for new, less tech-savvy users.

    There are two work-arounds to this:

    1. Unhide C:\ProgramData. I don't think this is wise. It is hidden by default by Microsoft because users aren't supposed to be messing with the data in there. Even if you do go in there occasionally, I'm still a proponent of the idea that even Super Users / Power Users should restrict access to data and directories unless they absolutely need it. That's my Linux/Unix Ghost speaking. :)

    2. During install, change the directory where this data is written. It could be a user directory, a personal directory, etc. In my opinion, the installer should not default to a directory that is hidden by default. Thankfully, the installer provides the opportunity to change this directory so this is an option.

    @Simon: If it helps at all, here are some details about the system I am running CC3+ on: Dell Latitude E6540 laptop, 16GB RAM, 64-bit Windows 7.1 Pro with an Intel Core i7-4600M Dual Core CPU 2.9 GHz.

    If you need/want more details let me know and I'll see what I can provide.

    Thank you all for your interest and patience in this thread. Great community. Looking forward to being a contributor and learning from you all.

    -------------------------------
    R A Jacobs
    Learning CC3+ @ Funny-Shaped Dice
Sign In or Register to comment.