Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiuser / social network features #4

Open
martinkoutecky opened this issue Apr 23, 2014 · 3 comments
Open

Multiuser / social network features #4

martinkoutecky opened this issue Apr 23, 2014 · 3 comments
Labels

Comments

@martinkoutecky
Copy link

This is probably not an immediate feature request and I'm sure you have thought about it already, but I would like to know some kind of an estimate -- how hard is it, how much work would it be, how deep would the changes need to be etc.

I would like to use Piggydb collaboratively for example with my students. In one Piggydb instance all of us would have separate user accounts. At the start (after logging in...) everyone would only see their fragments. But it would be possible to switch to a different user's perspective and see his fragments. And it would be possible to select a fragment and "add it" to my perspective, and create relationships from it to other fragments I see.

The use case is that I'm teaching a course and I would like every student to create their own "concept map" in piggydb, but I would like to bootstrap them by giving them something to start with (my map). So after the first lesson I would construct what was taught and they could take from it, and add anything to it. After the second lesson, they would be able to take new fragments from me and again add anything to it. And continually they could also share fragments with each other.

Implementation-wise I don't think it is far-fetched. Users are already present in the system; I don't know how fragment metadata looks like but it seems to me that you would only have to add a field containing a list of users that want to display this fragment in their "perspective". As for relationships and tags, while viewing a fragment a user should only be shown those that are enabled for his perspective; e.g. if a student creates a fragment and connects it to my fragment (or assigns his tag onto my fragment), by default I wouldn't see that.

I realize this is rudimental and is based on trust, but it would already be hugely beneficial to all the use cases I have in mind. Even now when I share a piggydb with my fianceé this functionality would be immensely helpful.

Problems that I see:

  • if a student creates a relationship between two of my fragments, I would see it (which is probably undesirable). Same with tags.
  • a student is either able to edit my fragment (possibly dangerous) or doesn't have a good way to modify it. Only options left for him to add his notes are
    1. add a new fragment and connect it;
    2. clone my fragment (thus losing whatever work/corrections/... I do on it in the future).

Fixing these would require having metadata on relationships which is probably not possible yet. (And more generally, some well thought-out access control system in place.)

@marubinotto
Copy link
Owner

Thank you for sharing the interesting idea!

I think the easiest first step toward realizing your idea is to introduce 'private' fragment. A private fragment is only visible to the user who has created it. Relationships from/to a private fragment are also private.

Relationships between 'public' fragments and tags are relatively difficult to apply access control because they are not designed as duplicatable.

@marubinotto
Copy link
Owner

Hi al-Quaknaa,

Are you still interested in this topic?

I've been developing a new service called "Oinker" as a kind of successor to Piggydb and during the development your use case has always been in my mind.

I think your use case fits more naturally with Oinker's collaboration model, especially the "Reoink" feature helps teachers and students share and grow their knowledge.

I'd love to hear from you about it.

Daisuke

@pihentagy
Copy link

pihentagy commented Feb 23, 2017

Oinker is nice, but it does not have tags at all. Will it change in the future?

Maybe what @martinkoutecky is looking for is a reviewing process: if I write a fragment, someone else should be able to propose changes to it, so I can accept/reject/edit manually.

Should I expect development in piggydb? Or are the devs busy writing oinker.me cotoa.me?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants