deck
deck copied to clipboard
Public board sharing [$100]
In addition to the sharing with internal users, it should be possible to share a board by generating a public link, similar to the files app. When a board is shared via link it should be possible to protect it with a password and to enable or disable write permissions for guest users.
The public share link then shows the corresponding board (without the left sidebar). Functionality that is only available with managing permissions must not be available on public shares (like the board share sidebar, the label management sidebar)
Please also consider a public editing feature :)
It should be possible to share public boards with contacts from the ContactsManager API.
Can a better description of requirements to be implemented be written for this? I'm getting more and more familiar with the project but I am completely out to town on what needs to be done for this.
The json api that I've been writing is nearing it's completion and this bounty is tempting!
@Nebri I've updated the first post with some details on how this should look like.
@nextcloud/deck Is there any api / references to generate the shares from the nextcloud core? I'd hate to re-invent the wheel here. Just trying to formulate a plan of attack before I pull up my editor for this.
@Nebri Unfortunately there is no generic share API right now in Nextcloud. The current one is just for files, so we need to build something on our own there. We already do this for the general board sharing, so i think it makes sense to just extend the current acl table to support public links.
We started with some unification of public templates/controllers in 14 but we either need to add a fallback for 13 or wait until 14 is the lowest supported version:
- https://github.com/nextcloud/server/pull/9084
- https://github.com/nextcloud/server/pull/9518
Really hope to see this feature added some time soon! Just added a bit to the bounty.
Life has gotten busy but later this week I will take a serious look at implementing this 👍
Going to add a new database table to track generated public links.
Will add in a new menu option from the boards ... menu that will confirm the generation of a new link / deleting existing links.
@juliushaertl what is the procedure for scripting the creation of new database tables when the app gets updated / installed?
Going to add a new database table to track generated public links.
I think it would be fine to just add a field to the board table to have a public link token there. One link per board should be enough, I think.
@juliushaertl what is the procedure for scripting the creation of new database tables when the app gets updated / installed?
When adding a new column/table you can just change the database.xml, but if you want to earn some bonus points, it would be awesome if we could just migrate the existing database schema to migrations (https://docs.nextcloud.com/server/14/developer_manual/app/migrations.html) and after that just add a new migration step for the database changes.
Unassigning myself for the time being to encourage other potential bounty hunters to have a go at this. If anyone else would like to take this on by all means feel free to explore what has already been started. I'll revisit this task in the New Year if it's still open at that time.
This is just a bit much for me at the moment.
@RyanFletcher86 since your last post there was a new year and another new year ;-)
Just checking if you feel like getting this started again?
Yea, this feature would be great! It's the only thing I miss atm. Have to list any point in a onenote notebook that I share with the would.
@juliushaertl anything news here?
@RyanFletcher86 since your last post there was a new year and another new year ;-)
Just checking if you feel like getting this started again?
First off I apologize for not acknowledging sooner! Sadly I've been dealing with some really unfortunate circumstances in my life. I won't be able to contribute to the project until after I've overcome my difficulties.
I still think about this project often and hope to return to it when that becomes a possibilty!
Hey there,
I'd just like to let you know that due to the ongoing issue with Bountysource we're discussing ways to move to a different platform. As it looks right now, Bountysource might claim some of the money that was contributed by the community. We will try our best to prevent that. Historically we – the Nextcloud GmbH employees – simply put the claimed bounties back to other tickets until one was solved by a community member. So the money was always from the community and for the community. We'll therefore move to a better platform and currently don't post any new bounties until this situation is resolved. The current goal is to move/donate the money to Nextcloud include but details will follow in the forum post.
Hope this makes sense. If you have any questions please ask them on the forum. This comment will be copy-pasted to all open issues with bounties.
An other nice feature, that I think would be linked to this one, would be the ability to add users that doesn't have a nextcloud account. For example, I'm using Desk on some projects with other people who don't use desk and don't have an account on my nextcloud instance. I would like to assign tasks to them to be able to filter by assigned user and see who has to do what tasks. And this feature would be very useful in case of public board sharing, to be able to assign tasks to users who don't have a nextcloud account. When I click on the field to assign a user, if I write a name it will suggest existing users matching with what I wrote. We could just tap enter to create a new user if the written name doesn't exists.
I'd like to be open about the progress on projects to clients. Allowing them to see what is happening w/o the need for an account would be great!
@dosch please use GitHub reactions 👍 to show that you are affected by the same issue.
Hi everybody ! What's up about this issue ? Where can we contribute to the bounty ? This is a MAJOR feature to be aligned with other apps in terms of sharing and external contribution !
@quentinjaud please use GitHub reactions 👍 to show that you are affected by the same issue. Regarding the bounty please read this pinned issue. Spamming the issue timeline with not-related and non-useful requests will not speed up development but make it harder to understand and read the content of an issue and to work on it.
Edit: Regarding the now invalid bounty: @juliushaertl also posted a statement about it literally two comments above.
What does "Planning evaluation (don't pick)" mean? Is this still something that can/should be done by the community?
I am also running into the issue of wanting to share some Deck boards publicly with a community of ours, and cannot do that because of all of the mentioned issues above. Is there any movement on this or anyone else interested in taking up implementing this feature?
Dang, I just assumed that I would be able to share Decks as I'm able to share files. Appreciated feature!
Hello, is there any news on this? I see that it's been put in Office team, in a "don't pick" section? Is this still open for the community to develop? It's been a year since the move so I'm wondering how it's evolving
Dang, I just assumed that I would be able to share Decks as I'm able to share files. Appreciated feature!
Same for me, I thought I can use it as a Trello Alternative.
Hello, is there any news on this? I see that it's been put in Office team, in a "don't pick" section? Is this still open for the community to develop? It's been a year since the move so I'm wondering how it's evolving
This is open for anyone to contribute. The office team board is just for planning our teams resources but not representing on what can or should be developed :)
REQUEST : A public view of a deck could be very useful to us.
We are non-profit and work with volunteers that won't create an account on NC. But it would be very handy if we could share a public view of a deck with them of the status of our projects.
Thanks
Hi @juliushaertl , I'd like to help get this implemented since I'd like to have this feature. I've not contributed to Deck previously, but I'm familiar with the tech stack being used.
Could you help point me in the right direction for:
- Current implementation of the share feature in the files app so that I can understand how it works, and implement that on the Deck app. If there is now standardized API available for the sharing feature, it'd be great to use that instead.
- What the best way to store entries/migrations for the public link and sharing settings would be
Awesome to hear that @aharish
Current implementation of the share feature in the files app so that I can understand how it works, and implement that on the Deck app. If there is now standardized API available for the sharing feature, it'd be great to use that instead. What the best way to store entries/migrations for the public link and sharing settings
There is no such generic API unfortunately. While the oc_share table may indicate that there are different share types those are there for historical reasons. The overall share logic in server is too much bound to files/folders to be of much use here. Other apps implementing public sharing mainly implement their own database to store share data and handle everything within the app.
My suggestion would be to reuse the existing deck_board_acl table and introduce a different type for share links (https://github.com/nextcloud/deck/blob/52febb396cc79fd162efdd87550947f35d3e3f84/lib/Db/Acl.php#L32) the participant
field could be used to store a random token for the link as it is done with files as well.
As this is probably going to be a larger change please don't hesitate to reach out in terms of any questions. Anything we can clarify upfront is probably helping to ease the review process and could avoid larger changes after the implementation has already been started.
Edit: We can also have a chat about this if you want, feel free to ping me by mail for that.