I have an app that we are releasing to a lot of users (more than ever before). I have a separate module that will grab all the mongo "stuff" (user ID, user innerface questions, etc., etc.), so I have a listing of everything the user does in regard to their interaction with the app. I was going to run it nightly to capture the day's activity.
BUT>>>>Then it occurred to me, that user can delete their workflow results in the Gallery, and that will erase all the mongo stuff.
I see no way to NOT give them the option to delete - it's automatically there in the UI.
Anyone come across this yet, and if so, how did you solve it?
Thanks.
You could chain the app and have the mongo info append to a yxdb (saved locally on the server) on every run. Then you'll have an up to the minute view on what people are doing in a separate persistent file.
Would that work though? If 10 people just happen to run the app at the same time, it could possibly be the case that the YXMD to capture the mongo is running at the same time. Can a YXMD be run at the same time for 10 (or however many) users?
Okay, so I have it set up where the once the app is done, an event fires off that runs the mongo capture module. It works but it does not pick up that app that was JUST run. If I run it again, then it gets the prior one, but not the one that current one. It's always one run behind.
Any thoughts? The event is configured to kick off after the app is complete.
I don't know enough about how the MongoDB is set up, so my only thought is that the last run hasn't been committed when the capture workflow fires. You could possibly add the Wait A Second macro from the CREW macro pack to put a little gap in there. You would have to pass only 1 record through that tool so it would only wait once. That's all that I can think of.
@mbarone 2 quick thoughts:
1) It seems like the gallery logs would have the information you're looking for. When I filter my gallery logs to Location = Execute, this provided the userID and wizard values.
2) You could modify the js code for the Gallery to not let users delete their runs. If you want to try this route, I'd be happy to chat. It would be as simple as making a small change to the production.js file on the server. We've done a ton of modifications similar to this with our gallery. The only thing I don't like is that I have to redo the changes every time we upgrade our server. I've reduced it to just running a module that makes all the changes, but there's always the risk that some of the underlying code changes and messes with our updates.
Thanks Patrick! I would prefer to not mess with the js file if at all possible. I looked through the log files (for example "Alteryx_Log_1500644786_1.log", but couldn't seem to find the wizard values. Maybe we could chat on the phone this week. Let me know what works for you; thanks!