The Sharing Service
The Sharing Service is a way for "Source" applications to find "Sender" Applications without a developer having to know which particular "Sender" applications are available at any given time.
Blueprint information
- Status:
- Complete
- Approver:
- None
- Priority:
- High
- Drafter:
- None
- Direction:
- Approved
- Assignee:
- Allen Lowe
- Definition:
- Approved
- Series goal:
- Accepted for 0.1-jupiter
- Implementation:
- Implemented
- Milestone target:
- None
- Started by
- Allen Lowe
- Completed by
- Sergey "Shnatsel" Davidoff
Related branches
Related bugs
Sprints
Whiteboard
The Sender:
- Each Sender adds a .desktop file in the folder $XDG_DATADIR/
- The file looks like this:
[Desktop Entry]
Version=1.0
Type=X-
Name=Send File Via E-Mail
Icon=internet-mail
MimeType=
X-DBus-
- The Sender has to implement the DBus method org.elementary.
The Source:
Option a)
- A Source willing to share will call org.elementary.
- A dialogue shows up, presenting all senders.
- After choosing one, the sender's DBus method is called.
Option b)
- A Source willing to share will call org.elementary.
- The Source renders a popup menu with names.
- On activation of an item, the menu closes and calls org.elementary.
Open questions:
- "Duplicates" should be filtered, not sure how exactly. So that the preferred Sender is used if two exist.
- The sharing service may terminate after a period of inactivity. Potentially this induces a performance overhead when used again.
- Can we have a modal dialogue that is transient to the Source?
Other Considerations:
- The Sharing Service should handle any and all methods of moving data outside of the current application. This includes Printing, Save As, Set as Wallpaper, and any other functions that one would assume to be a part of "the system". That does not necessarily mean that the sharing service requires these functions, but that it should be able to provide them if they are available.