Porting migration agent away from old configuration dialog

Carl Schwan carl at carlschwan.eu
Tue Jun 24 23:05:22 BST 2025


Hi,

Pablo (in CC) is currently porting agents and resources away from QtWidgets (y 
moving the configuration widgets to a plugin as part of his GSoC project. 
Currently he is looking into the Migration Agent which present some 
interesting issues to fix:

- The agent relies on KUiServerJobTracker which aside of requiring to be 
ported to KUIServerV2JobTracker also has the issue that this links to 
QtWidgets while not using QWidget itself. I fear since this is in a framework 
this can't be moved to a seperate target but worse case we have a copy in PIM 
and then have a todo KF7 to move that to a seperate target.

- The second issue and arguably more complicated to fix is that the agent and 
the configuration dialog uses the same instance of KUiServerJobTracker. As the 
configuration view is a view showing the current migration status.

I see three ways to fix this:

- Make the migration agent not an agent but a process that is started at the 
start of the Akonadi Server and then shutdown as soon as the migrations are 
runs (if any). Then it's not really an issue if this rely on QtWidgets as it's 
a short lived process. Dependency wise this should still be in the kdepim-
runtime repo, so not really sure how to elegantly start it from akonadi server

- We maybe don't really need a configuration view for that agent as we already 
have the notifications with progress report via the KUiServerJobTracker. But 
this is only on Linux/Plasma. On other platforms, we need 

- Keep it as an agent and have a dbus protocol to communicate the job process 
between the configuration dialog and the agent. This sounds like quite some 
work for a small agent which is not doing anything most of the time and even 
more for a configuration dialog which I doubt most user will notice.

I would tempt to prefer the first solution. But maybe someone has other ideas 
or suggestions :)

Cheers,
Carl
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20250625/57a73924/attachment.sig>


More information about the kde-pim mailing list