Hey Shishir! Thanks for your interest in ownCloud’s GSoC and the client development!
I can solve some of these questions since I’m usually doing QA tasks for the Desktop client plus I originally posted the project on ownCloud’s GSoC wiki. This has been a highly requested feature, as sharing screenshots with your colleagues is a quite common scenario to be automated. And I believe it’s a great opportunity for you to write some code that would run in many systems worldwide!
The original issue opened on the client repository is quite old: Observe for new screenshots, upload them and generate public link for sharing · Issue #1811 · owncloud/client · GitHub. In the comments, you would find some people that already got started in the past with the idea, like the project I linked in the project’s description: GitHub - rage311/ocss: OwnCloud Screenshot Sharing
Initial goal would be to figure out how to integrate a functionality like the one in those scripts into the client and create a nice user experience. For that, you can use this list as some sort of guideline of what could be “acceptance criteria” for the feature:
- Generally speaking, the option would “observe” for new screenshots on the system and upload them to a destination in the user’s ownCloud:
- If there’s no “
Screenshot
” folder locally, it would create one. - Use some sort of convention to name the screenshots (independent from the system)
- If there’s no “
- You need to take into account the multi-platform nature of the client; which mean that different OSS have different mechanisms to deal with screenshots. The most options are covered, the best. Some research to list the APIs/conventions in most systems will be a nice starting point.
- The option must be included as an additional setting, some users might not want automatic upload of screenshots and disable the option. You can learn how is the client’s logic for some general settings page in current version on: client/src/gui/generalsettings.cpp at master · owncloud/client · GitHub
- In multi-account setups, the user would need to select which account does he want to automatically upload the screenshots to.
- An additional desired feature of this integration would be the ability to copy the screenshot shared link to your clipboard (a shortcut to the context menu
Share with ownCloud
>Share by Link >
Copy Link`) for fast sharing. Maybe with a different keyboard shortcut than the one used to take a regular screenshot. This also requires a bit of research on how different platforms handle the clipboard, etc.
I would start by looking at the existing work on the script and its forks for different OSS (note that they’re also open source projects) and learn how they implemented some of the logic.
From your previous post, I get you already followed the building instructions for your platform and have a development environment set up. Awesome! let’s continue from there.
Do not hesitate in continuing the conversation here or ping me by PM for more details!