gctools-outilsgc / Issues

Repo for issues that do not fit in a code repo.
0 stars 0 forks source link

Take a look at angular packages that have similar GCCollab functionality #17

Open piet0024 opened 1 year ago

doug0102 commented 1 year ago

Here's a list of some interesting packages I've found for Angular that we might find useful. I have tried a few of them out personally but the bulk of them I'm just going off their feature/demo page.

Accessibility

Animations

Auth

Calendar

Chart

Drag/Drop (Future Dashboarding?)

Editor Components

File Upload

Icons

Keyboard/Mouse

Layout

Maps

UI

UI Libraries

vid commented 1 year ago

It would be nice to find an editor that supports two-way markdown conversion (though the editor itself can be wysiwyg by default). That opens up a whole new ecosystem of options. MDX, for example.

doug0102 commented 1 year ago

@vid If I'm understanding correctly you mean an editor that can output MDX and MD? Or one that allows you to input MD/MDX instead of using wysiwyg? I will do some searching. Actually the first time I've heard o MDX but it looks super cool!

vid commented 1 year ago

Yeah MDX is pretty great. It could be used to give users a lot of flexibility, for example, embed their own polls or other content, without having to use a block editor.

What I mean is something that can round-trip from md to wysiwyg and back again, so someone could use either markdown or wysiwyg for editing. A number of editors have this option.

Here are two other features that would be important to consider, and are available in open source options (from my research a couple years ago): annotation and simultaenous editing. Annotation (aka commenting in this context) adds a really powerful dimension to documents.

My research is a bit out of date, I think this is probably the best candidate: https://prosemirror.net/examples/

vid commented 1 year ago

I wish we could go directly here: https://dokie.li/ but it probably has too many rabbit holes. It has a lot of future indicators, though.

doug0102 commented 1 year ago

@vid I just did some digging and froala actually does have that feature, you can see it here you just need to click the icon with the M and the down arrow. I will be on the lookout for other free options though. That 2nd project I have listed is actually not maintained anymore I just noticed.

I am still trying to wrap my head around the decentralized stuff. This is all new to me haha. If a user were to create content on GCCollab using this dokie editor and save it, where does it get saved? How do we get access to it once it's saved in this location? For the user would it be as seamless of an experience as it would be if they just saved it to our servers?

vid commented 1 year ago

Take a good look at prosemirror, I think it's a great option, and it would be nice to be completely open source!

A simple case of using dokelei is more or less an extension of a web page, and its assets. But instead of linking gifs or whatever, you're linking to coments, and those comments use a shared vocabularly so they can be used as data in the document. This model acknowledges that someone contributed and 'owns' a comment. So the document itself could be saved on 'our server,' and people could post annotations from anywhere, or the other way around; gc people and collaborators could comment on third party sites, and the comments (annotations) would appear on our site, with links to the original article. This is a lot richer than current models, which are at best embedding commercial sites like Twitter, or maybe RSS feeds (which is where some of this comes from). Another interesting direction is user wallets, which seem to be taking off now, so a user can use their own personal information. It's one way we can get to really sophisticated apps that reuse a lot of data across users and sites, without centralizing everything (which is incredibly unsafe for user data). We can shift more to simulations than simple web pages and forms using this approach. And it's all using data that is finely specified, with intentional features like entailment/inference.