BookmarkSubscribeRSS Feed
0 Likes

There should be a way to tell if the code or structure of a project has changed or if it was only refreshed with data.  That way, we'd know that it can be closed without needing to be saved.

 

This is especially important when a production copy of a project is opened and run, but not changed.

 

Some way to summarize the changes to a project would be very helpful.  This is very important for auditing when we need to ensure that the project used for an 'official' run had not been altered from the production version.

6 Comments
paulkaefer
Lapis Lazuli | Level 10

The solution to this sounds to me to be a combination of version control (so you know when/if any code was changed) and SAS' built-in audit set capabilities (documentation; paper on the topic).

tomrvincent
Rhodochrosite | Level 12

Version control isn't the issue here.  And the audit capabilities are at the dataset level, also not the issue here.  If I open a project and run it (making no changes to the tasks, flows, etc. other than prompted values) and then try to exit, SAS asks me if I want to save the project even though no structural changes have been made.  I want to avoid that and, if a structural change was made, I want to be informed of that as well.

BillSawyer
SAS Employee

Tom, why would storing the project on a file system as read only not solve the issue?  When you change a prompt's value and/or run a project,  logs and results are cleared and recreated usually with updated source data, so, there are changes. Also, if you need extra auditing you can use the Project Log option  (can be turned on from any Log window).  Please clarify why a read-only permission on the project file is not a viable solution and I'll be glad to at least forward this request on to R&D and Product Management so they can determine if this is something they would like to implement in a future release.

 

Thanks,

Bill

 

tomrvincent
Rhodochrosite | Level 12

@BillSawyer First of all, a read-only project can still be changed and run, so that doesn't solve or prevent anything.  Changing macro variables thru prompting doesn't change the underlying code or logic, just the run-time code, log and results.

 

What I'm trying to prevent is this:

1) open project.

2) run project.

3) close project (oops...SAS is asking me to save the project even though I made no changes to it).

 

Now, I can get around this by converting projects to stored procs (and I'm doing this, even though ith brings up all sorts of nightmares due to the inconsistency between projects and stored procs) but I think there should be a clearly distinguish between the state of the project and the state of the *results* of a project.

BillSawyer
SAS Employee

 

1. open a project (make no changes)

2. run part or all of the project  (and if there are project prompts then make those entries/selections)

3. close the project

 

Once you click to close the project, then you want Enterprise Guide to do what exactly?

 

a. automatically save the updated contents of the project,  then close the project,  but w/o being prompted to save since there were no code/task changes.

b. or something else...please specify

 

Once you have confirmed then I will enter it as a new feature request.

 

Thanks,

Bill

 

 

 

 

 

tomrvincent
Rhodochrosite | Level 12

@BillSawyer  EG should tell me that no code was changed and that the project can be closed without saving...or that I can save the *run* separately without overriding the original project.  Something to indicate that the project's structure wasn't changed, just the it was run and so there are new logs and staging datasets.  

 

I think the code/tasks/flows/lists/whatever (the actual *structure* of a project) should be separated from the results and logs.  They are 3 distinct pieces that are related but fundamentally different.

 

An individual run of a project has the code, logs, staging datasets and so on...that would be fine to save as a *package* (and I do that now, adding a YYYYMMDD HHMM to the saved project), but the source project (the 'base' model or production version) should remain the same.