Daemonize Syncany Core & Externalize GUI

Bug #793955 reported by Philipp C. Heckel
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Syncany
New
Wishlist
Unassigned

Bug Description

The Syncany GUI is currently a core part of Syncany. Launching and controlling Syncany without a GUI is not possible. In order to interact with Syncany by other programs, it might be useful to externalize the GUI in a separate application.

This bug is meant to discuss details for this blueprint:
https://blueprints.launchpad.net/syncany/+spec/daemonize-core

What do you guys think of that? How could this be realized? Any volunteers?

Changed in syncany:
importance: Undecided → Wishlist
Revision history for this message
isakkarlsson (isak-karlsson) wrote :

I think this is a great idea and I've started working on an "api" service that will use json to communicate with clients. The ConfigPanel needs to be rethinked though (as some way of defining maybe the possible config values and then build the gui from that or whatever).

Revision history for this message
Philipp C. Heckel (binwiederhier) wrote : Re: [Bug 793955] Re: Daemonize Syncany Core & Externalize GUI

Hi Isak,

That's great news. Thanks for your initialive.

1) Core
I have an additional thought on this and I believe it could help: as
you might know, the file manager extension requires two servers which
are listening for clients (that Dropbox's design...). Maybe instead of
creating yet another server, we could re-use this one for the purpose
of communicating with potential GUI clients.

The protocol is not really nice, but it allows passing commands and
arguments. Check this post for more details on the protocol. Also look
at the attached PHP script which communicates with the client:
https://lists.launchpad.net/syncany-team/msg00010.html

What do you think?

2) ConfigPanel
What do you have in mind? Could you elaborate on that?

Cheers,
Philipp

On Tue, Jun 7, 2011 at 4:25 PM, isakkarlsson <email address hidden> wrote:
> I think this is a great idea and I've started working on an "api"
> service that will use json to communicate with clients. The ConfigPanel
> needs to be rethinked though (as some way of defining maybe the possible
> config values and then build the gui from that or whatever).
>
> --
> You received this bug notification because you are a direct subscriber
> of the bug.
> https://bugs.launchpad.net/bugs/793955
>
> Title:
>  Daemonize Syncany Core & Externalize GUI
>
> Status in Syncany:
>  New
>
> Bug description:
>  The Syncany GUI is currently a core part of Syncany. Launching and
>  controlling Syncany without a GUI is not possible. In order to
>  interact with Syncany by other programs, it might be useful to
>  externalize the GUI in a separate application.
>
>  This bug is meant to discuss details for this blueprint:
>  https://blueprints.launchpad.net/syncany/+spec/daemonize-core
>
>  What do you guys think of that? How could this be realized? Any
>  volunteers?
>
> To unsubscribe from this bug, go to:
> https://bugs.launchpad.net/syncany/+bug/793955/+subscribe
>

Revision history for this message
Pom Albisser (roman-albisser) wrote :

Hello everybody,

this is really true. I'd like to run syncany on my server without a screen.
To make this work, I changed some parts in the code.

Basically i added a new configuration parameter "headless".

Sample Config:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<syncany>
 <username>albisser</username> <!-- optional -->
 <machinename>ch1w47039</machinename> <!-- optional -->
 <userimage>system</userimage> <!-- optional -->
 <service-enabled>true</service-enabled> <!-- optional -->
 <autostart>true</autostart> <!-- optional -->
 <notifications>true</notifications> <!-- optional -->
 <headless>true</headless> <!-- optional -->
 ...
</syncany>

If headless is "true", the GUI will not be initialized and calls to the tray or the configuration wizard are omitted.

A patch is attached.

Of course, this is just a dirty hack. I think Isaacs Idea to implement an Server API and a GUI Client in to separat applications is the right way. I also attached a diagram, how the new architecture might could look.

Revision history for this message
Pom Albisser (roman-albisser) wrote :

... and ere the proposed architecture diagram.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.