This is in 7.1.2.1. If I have a PluginInfo key whose value is a multi-line string, and I expose that key in the Monitor using the param file for my plugin, the Monitor replaces newlines in the string with semicolons if I edit and save the value in the Job Properties dialog. It should use actual newline characters.
Just so I don’t get confused, we’re talking about Plugin Configuration, right (ie: Tools -> Configure Plugins)? Or are we talking about Job-specific plugin info (which can be modified through Job Properties)?
If it is the former, it’s currently by design, since the key/values are all stored in .ini files basically (the .dlinit files) – with that setup, newlines are required to separate the different entries, so we effectively ‘escape’ them by replacing them with semi-colons.
If it’s the Job Property stuff, this is mostly a holdover of when we were storing that in .ini files, and that code kinda just stuck around I guess.
We can definitely look at changing this behaviour for 8.0, since we’ve moved the Plugin config stuff into the Database, so there wouldn’t be anything holding us back from preserving line-endings in the values. I’d be hesitant to change this for 7.2 though, since we probably have a good chunk of code that expects the value lines to be semi-colon separated, instead of newline-separated.
Editing the Job-specific plugin info in the Job Properties → MyPluginName Settings section, where the value in question is exposed as a MultiLineString type using the plugin’s .options file.
It sounds like you’re talking about changing the first case (Tools → Configure Plugins). I think that using actual newlines there would be best, but that isn’t really a concern for me.
The plugin info data is another story. We submit the data newline-separated, and we expect it to stay properly formed. Indeed, it stays the way it was submitted unless I edit it in the Job Properties dialog and save the changes, so it’s pretty clear that nothing in Deadline is breaking because of the content of the data (especially since it’s all plugin-specific).
The inconsistency here is really not good, so I would strongly lean toward having it fixed ASAP.
Yeah, if it’s just the Plugin Info in the Job we can look at fixing that for 7.2. I don’t think we have too much that relies on multi-line stuff in the .options file (just 3dsMax and Soft from what I’m seeing) – I was mostly thinking of Plugin Config, as you surmised
To be clear though, I think we have to maintain the use of ‘;’ as a placeholder for newlines in spots, because commandline submissions are still done through .ini files. We’d change newlines to be stored in the DB as-is, and newlines would only ever be converted to semi-colons for display purposes in the ‘Submission Params’ panel. So newlines should be safe, but semi-colons might not be, still – does that work for you guys?
As a sort of tangential feature request to this, it would be nice if the widgets for exposing multi-line plugin info strings in the Job Properties panel were A) taller by default, and B) resizable.