unite-cms / unite-cms Goto Github PK
View Code? Open in Web Editor NEWReally flexible headless CMS, built on top of Symfony and GraphQL.
Home Page: https://www.unitecms.io
License: MIT License
Really flexible headless CMS, built on top of Symfony and GraphQL.
Home Page: https://www.unitecms.io
License: MIT License
We need two more configuration options for the storage bundle to allow to select the s3 region and a subfolder path, where the files will be stored.
Replace the reserved word "collections" with "views" and write / update an unit test to check this
Implement all left field types, which are easy to implement
See symfony form types
https://symfony.com/doc/current/reference/forms/types.html
write a test case for CollectionFieldType which does a POST request through main firewall with crsf protection
CollectionFieldType::onUpdate only calls onUpdate on all child fields. However, for the child a row-add or row-delete action is a create or hard-delete action.
All users must be allowed to cancel their accounts. Also when not using the registration bundle, users can be invited to the platform and therefore should be able to cancel their account again.
We switch from uikit icons to the https://feathericons.com/ iconset. Icons that are used for the UI as well as icons, that can be selected for contenttypes and settingtypes must change to the new icon set
some Files have 2 space intention instead of 4
Task:
Finde those Files and clean them up!
On many places (for example the headline on content update page), a content entity must be named. In order to do this, the Content class should implement __toString().
__toString() should use an content_label property on the ContentType entity to figure out, which fields to display as title. This property can also become the default for reference field to avoid double definition of content_label
content_label should default to "{type} #{id}" or something reasonable.
Rename all "United" with classes, services and directories with "Unite".
Implement a graphQL mutation to revert content and setting to a specific version. This is already implemented in ContentController::revisionsRevertAction and SettingController::revisionsRevertAction and can easily be re-implemented as a graphql mutation type
For a nicer media handling implement a view for displaying files and images. The view should look something like dropbox or google drive and should include a drag-and-drop upload area.
The view should also implement selection from reference field
At the moment there are Users and ApiClients that are managed per organization (after implementing #20). They only have an identifier and roles.
In the future we probably need a way other individuals can authenticate against the api (via oauth) and also fields on each of this user entities.
js is included twice, if there are more than one instance of a custom form type. Therefore vue CustomElementRegistry tries to register the same name twice.
Instead of firstname / lastname we should only have one name field. The name field should identify the user and could also be a company name, so we should not force to enter a firstname and a lastname
Api routes should be changed because it will be difficult to match all these routes in the future
current regex ApiRequestMatcher
^/[A-Za-z0-9_-]+/[A-Za-z0-9_-]+/api(/|$)
fe.
/test/first/api
/test/first/api/content/news/upload (doesnt match ^/[A-Za-z0-9_-]+/[A-Za-z0-9_-]+/api(/.+|$) is no good approach)
should be changed to
/api/test/first
/api/test/first/content/news/upload
Implement graphQL mutations to delete, restore and delete-definitely content. This is already implemented in ContentController and can easily be re-implemented as graphql mutation types.
Consider to refactor the actions by creating some service that takes care of content deletion and will be used in the controller and the mutation.
For defining dynamic field input, a https://www.drupal.org/project/paragraphs - like field type should be implemented. It allows to define types with a fields set each. The user can choose one type and fill out the fields of this type.
todos
Config is a mess. Clean it up, split it into multiple files and add comments
Removing setting types from the domain configuration has no effect
To allow cross-domain references, api clients must have access rights to multiple domains. At the moment this is not possible, because they are managed per domain.
Proposed solution: Manage api clients per organization and allow to set the domains, they have access to.
preferably based on vue.js
Create a new design and refactor the base user interface
todos:
With domain members and api keys moved to the sidebar menu, the dropdown menu only contains the admin links "update domain" and "delete domain". Move the two buttons below the dropdown menu for a improved UI
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.