<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/122970/">https://git.reviewboard.kde.org/r/122970/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On March 18th, 2015, 11:26 a.m. UTC, <b>David Faure</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Ah see, it's the problem with the client-side installing the XML file, rather than the server-side. It means any new method will initially trigger "not implemented" compilation error in the server. Kills extensibility. But not really a choice here, the client-side being in a framework.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Maybe this is one case where the server should have its own copy of the xml file, instead of using the one from the framework.
Duplication, but this V2 / V3 thing is duplication is well, and actually more complex to maintain.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This change is still necessary for the existing plasma 5.2 to compile, but I would also change plasma in master to use its own copy of the xml file, so that the two xml files can be "upgraded" at different times, and without the need to define a new interface every time.</p></pre>
</blockquote>
<p>On March 18th, 2015, 11:45 a.m. UTC, <b>David Rosca</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">V2 is there intentionally for compatibility, because with V3 plasma5.2 would compile, but stop to work - kuiserver from plasma5.2 would export V2 interface but kjobwidgets would create invalid V3 interface and calls would fail.</p></pre>
</blockquote>
<p>On March 18th, 2015, 12:22 p.m. UTC, <b>David Faure</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I think the way V1 vs V2 is handled is that kjobwidgets checks which interface the server (plasma) exports, to avoid the issue you mention?</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I foresee much confusion if V2 vs V3 is handled differently from V1 vs V2...</p></pre>
</blockquote>
<p>On March 18th, 2015, 12:26 p.m. UTC, <b>David Rosca</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Actually it seems that it doesn't handle V1 at all.
But maybe it should be renamed to org.kde.JobViewV2_1.xml or something like that, as it is not really a V3 indeed.</p></pre>
</blockquote>
</blockquote>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I see.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Well since org.kde.JobView.xml isn't used anywhere, I would reuse that filename, to get rid of the V2 nonsense...</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">http://lxr.kde.org/search?_filestring=&_string=%22org.kde.JobView.xml%22</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">(the dbus interface would still be called V2 for historical reasons, of course)</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The framework would install org.kde.JobView.xml (for apps), org.kde.JobViewV2.xml (for compat), and plasma would be changed to have a copy of org.kde.JobView.xml and generate the server from that.
And Plasma 5.2 still implements V2 based on the file installed by the framework.</p></pre>
<br />
<p>- David</p>
<br />
<p>On March 18th, 2015, 11:09 a.m. UTC, David Rosca wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
<div>Review request for KDE Frameworks and David Faure.</div>
<div>By David Rosca.</div>
<p style="color: grey;"><i>Updated March 18, 2015, 11:09 a.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
kjobwidgets
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This fixes source compatibility from https://git.reviewboard.kde.org/r/122926/</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">It adds a new org.kde.JobViewV3.xml file. The DBus interface name is still JobViewV2 to keep compatibility with apps still using org.kde.JobViewV2.xml.
It also removes generating code from old org.kde.JobView.xml as it is not used anywhere.</p></pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">plasma-workspace stable now builds fine
changing V2 -> V3 in CMakeFiles.txt in master branch enable the new setError method.</p></pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>src/CMakeLists.txt <span style="color: grey">(c539bdc)</span></li>
<li>src/kuiserverjobtracker.cpp <span style="color: grey">(7f13a4d)</span></li>
<li>src/kuiserverjobtracker_p.h <span style="color: grey">(daf3902)</span></li>
<li>src/org.kde.JobViewV2.xml <span style="color: grey">(245a5f0)</span></li>
<li>src/org.kde.JobViewV3.xml <span style="color: grey">(PRE-CREATION)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/122970/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>