medienhaus / medienhaus-cms Goto Github PK
View Code? Open in Web Editor NEWDecentralized-first content management system based on the Matrix.org protocol
Home Page: https://medienhaus.dev/
License: GNU Affero General Public License v3.0
Decentralized-first content management system based on the Matrix.org protocol
Home Page: https://medienhaus.dev/
License: GNU Affero General Public License v3.0
On /create
, choose wether to create a project or an event; projects don’t need any change, yet, but events don’t need context. This could be achieved by either contextualizing all events by e.g. “Rundgang $YYYY”, or by only showing faculty, institute, or study program, class(?), and the additionally-to-be-created contexts from the .docx
, but no courses, seminars, workshops, et cetera … the latter option would unfortunately turn out to be complicated rather quickly?
Another approach would be simply filtering out all contexts of type === course
(which might include classes), or to provisionally change the publishing criteria to context not required; which might introduce other problems?
Allow to publish projects and maybe events in contexts which are direct parents of the last nodes, i.e. faculty, institute, or study program, class (i.e. class as in the visual communication study program must not be type === course
).
Additionally to onBlur
autosave the editors contents every... 10 seconds?
Should work automatically
We are basically calling sync in every nav element (/submit calls it only if the project is a collaboration), or at least we could be and it would make sense.
Might be worth syncing once after login instead of seperately in each component.
bundle location and time into new event category
Add bot to every student project, to make collaborations possible.
Because only owners (who are admins) can kick other collaborators (who are moderators)
In addition to #51, list requested context below context menu accompanied by cancel request <button>
.
Also, how about closing/collapsing the context menu after successfully having requested one context?
atm we are still saving user input in localstorage
medienhaus-cms/src/routes/submit/DisplayContent/index.js
Lines 165 to 168 in d7591a0
this made sense when we weren't auto-saving to the corresponding matrix rooms. Since we changed this behaviour it doesn't really make sense to still do this, does it?
Only small advantage i see is if a users browser were to freeze or crash before auto saving, it is still available in localStorage.
deleted content rooms are only marked with an x_content
instead of int_content
but not deleted yet.
Mögliche Verbesserung bei der Sprachauswahl für die Projektbeschreibung: Vielleicht eine art Tab-/Registerkarten-UI, statt des Dropdowns. Im Moment wird suggeriert, dass nur eine Sprache wirklich unterstützt und auch gespeichert wird.
Not possible to filter invites for spaces and not show invites for already deleted rooms.
Only used in login so far
Challange: Admin can not kick other admins - problem with other coolaborators
Solution:
Something's wrong with the formatted_body
we send to the Matrix when users create a "Heading" content block.
On the right you can see the heading content block with its content: "Überschrift 123456"
On the left at the very bottom you can see that inside Element it shows up as "null".
On the left inside the modal you can see that the formatted_body
says: <h2>null</h2>
- which is clearly wrong.
In this case Tonsatz/Gehörbildung BA LA Musik Grundschule Kurs 1
is obviously not a project, but an invitation to just a random Matrix space. (In this specific case a "context" space actually.)
We should add a check if the space that the invitation is for is actually for... a project space? But... can we do that before being able to look inside the space?
choosing /submit from the nav doesn't seem to fire the useEffect hook dependency projectSpace
.
How to reproduce
Click on any project title in /profile.
once redirected to /submit/{spaceId}
choose //submit from the navigation
Workaround
first choose different nav item, then choose /submit
Every now and then the matrixClient doesn't seem to register the room event, therefore not triggering the useEffect hook.
How to reproduce
Add content to your project.
Can't figure out a pattern yet 🤷♂️
Global sync implementation.
/invite
route should show anything related to invites, i.e. collaboration/moderation invitations and invite function/moderation
to /moderate
/moderate
route should show anything related to moderation, i.e. contexts, requests, and promotion function/projects
/invite
/moderate
Should we clear text formats when pasting from clipboard to editor, e.g. text block? Otherwise weirdness™ will happen.
For example, try copying and pasting the content of this article.
peertube api doesn't return scheduled live streams
Allow providing a stream.udk-berlin.de PeerTube URL instead of choosing from the <select>
dropdown
- Wenn man ganz am Ende „Draft“ auswählt sollte trotzdem auch der Save Button erscheinen, da ja im Text steht, dass man es als Draft speichert.
Ideen
After adding a new contributor—valid for read-only and read-write—via the SAVE
button, don’t show success message below interactive elements (we don’t need that here), but show loading spinner inside SAVE
button.
When removing read-only contributor, don’t show success message in remove button, but disable button and show loading spinner until contributor is removed.
Add functionality to delete read-write invitations already sent that have not been accepted/rejected, yet.
In /account
, don’t use the avatar’s thumbnail URL and/or don’t crop the image.
Request button appears and disappear irregular even if request is accepted.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.