Giter VIP home page Giter VIP logo

core's Issues

Rename MarkDown.vue to Markdown.vue

Got this error when running encore on linux.

 ERROR  Failed to compile with 1 errors                                                                                                                                                 02:52:08

This relative module was not found:

* ../Components/Editor/Markdown.vue in ./assets/js/Views/editor.js

Because the existing file is MarkDown.vue instead of Markdown.vue
Rename it should fix the problem.

⭐️ Make "Extensions"

Things to do:

  • Make extensions 'autoload' as a compiler pass
  • Make extensions call their 'initialising' method after booting
  • Make possible for extensions to have their own config file
  • Make extension add widgets/snippets
  • Make extensions add Twig funcions & filters
  • Provide things like Request, Response, Config in extensions
  • Make Autowiring work for extensions
  • Make command for extensions:list
  • Make command for extensions:info
  • Make command for extensions:enable
  • Make command for extensions:disable
  • Make controller / UI screen in backend
  • Create make:extension command
  • Make it so extensions can add FieldTypes.

Restrict access to `/api` routes

The /api/contents GET should be public, but the POST, DELETE, PUT, PATCH should be restricted. At the very least to authenticated users. :-)

screenshot_2018-10-12_at_13_09_51

⭐️ Make all required frontend controllers

The following frontend routes need to be implemented:

Frontend

  • homepage | GET | /
  • search | ANY | /search
  • preview | POST | /preview/{contenttypeslug}
  • contentlink | GET | /{contenttypeslug}/{slug}
  • taxonomylink | GET | /{taxonomytype}/{slug}
  • contentlisting | GET | /{contenttypeslug}

⭐️ Create Vue Components for all Field Types

  • #118 Make "Geolocation" field (traditional)
  • #119 Make "Embed" / "Video" field (traditional)
  • #120 Make "Select" field to select items from other content.
  • #123 Make "Geolocation" a Vue component.
  • #124 Make "Embed" a Vue component.
  • #133 Make "Multi-select" Vue Component
  • #36 VC | Checkbox Component
  • #49 After uploading an image, the filename should be updated

Add "About Bolt" page

  • Make the page
  • Fill the page with a list of used Libraries
    • Javascript / Node
    • PHP
    • Others (Composer, Github, etc)

Make "Clear Cache" controller / screen

We have bin/console cache:clear, but this should also work in the browser..

  • Make Controller
  • Make screen for "Clear Cache" and add it to the menu
  • Make it actually work.

⭐️ Make all required backend controllers

The following backend routes need to be implemented:

Dashboard

  • dashboard | GET | /bolt

Content

  • editcontent | GET|POST | /bolt/editcontent/{contenttypeslug}/{id}
  • overview | GET | /bolt/overview/{contenttypeslug}
  • omnisearch-results | GET | /bolt/omnisearch

Authentication

  • login | GET | /bolt/login
  • postLogin | POST | /bolt/login
  • logout | ANY | /bolt/logout
  • resetpassword | GET | /bolt/resetpassword

Database integrity / fixtures

  • dbcheck | GET | /bolt/dbcheck
  • dbupdate | POST | /bolt/dbupdate
  • dbupdate_result | GET | /bolt/dbupdate_result
  • prefill | ANY | /bolt/prefill

Finder / editing textual files

  • fileedit | ANY | /bolt/file/edit/{namespace}/{file}
  • files | ANY | /bolt/files/{namespace}/{path}

Thumbnails

  • thumb | GET | /thumbs/{width}x{height}{action}/{file}
  • thumb_alias | GET | /thumbs/{alias}/{file}

Various config stuff

  • about | GET | /bolt/about
  • checks | GET | /bolt/checks
  • clearcache | GET | /bolt/clearcache
  • translation | ANY | /bolt/tr/{domain}/{tr_locale}
  • changelog | GET | /bolt/changelog
  • changelogrecordsingle | GET | /bolt/changelog/{contenttype}/{contentid}/{id}
  • changelogrecordall | GET | /bolt/changelog/{contenttype}/{contentid}
  • systemlog | GET | /bolt/systemlog

User management

  • users | GET | /bolt/users
  • useredit | ANY | /bolt/users/edit/{id}
  • userfirst | ANY | /bolt/userfirst
  • useraction | POST | /bolt/user/{action}/{id}
  • profile | ANY | /bolt/profile
  • roles | GET | /bolt/roles

Async routes / helpers

  • changelogrecord | GET | /async/changelog/{contenttype}/{contentid}
  • dashboardnews | GET | /async/dashboardnews
  • lastmodified | GET | /async/lastmodified/{contenttypeslug}/{contentid}
  • latestactivity | GET | /async/latestactivity
  • makeuri | GET | /async/makeuri
  • omnisearch | GET | /async/omnisearch
  • readme | GET | /async/readme/{extension}
  • populartags | GET | /async/populartags/{taxonomytype}
  • tags | GET | /async/tags/{taxonomytype}
  • embedRequestEndpoint | POST | /async/embed
  • asyncbrowse | GET | /async/browse/{namespace}/{path}
  • file/autocomplete | GET | /async/file/autocomplete
  • file/create | POST | /async/file/create
  • file/delete | POST | /async/file/delete
  • file/duplicate | POST | /async/file/duplicate
  • file/rename | POST | /async/file/rename
  • createfolder | POST | /async/folder/create
  • renamefolder | POST | /async/folder/rename
  • removefolder | POST | /async/folder/remove
  • recordbrowser | GET | /async/recordbrowser
  • contentaction | POST | /async/content/action
  • stack/add | POST | /async/stack/add
  • stack/show | GET | /async/stack/show
  • directories | GET | /async/check/directories
  • email | GET | /async/check/email
  • widget | GET | /async/widget/{key}

⭐️ Make "Taxonomies" work

Like in Bolt 3, there are three main types of taxonomy:

  • Tags -> Freeform, can be added on the fly
  • Categories -> A little more strict, need to be predefined, but can have multiple (both "multiple category taxonomies" for one contenttype, as well as "multiple categories" per Record
  • Groups -> Strict. A contenttype (and a 'Record', can have only one group maximum

Bolt 4.0.0 alpha 1 - Tracker Issue

This issue will contain a list of items that need to be completed (or at least "well underway"), before we can release Bolt 4.0.0 alpha 1

Show multiple notifications stacked

Right now its only possible to show one notification. Even when the backend renders multiple notifications, or multiple notifications are received via custom events, only the latest notification gets displaced properly. It looks like the CSS covers all older notifications.

Configure CI environment

Configure CI to check every PR.
To be used (probably):
Travis
PhpUnit
PhpSpec
Behat
EasyCodingStandard
PhpStan

Convert Twig-based "slug" field into Vue component.

Currently, the "slug" field is generated in HTML. Code for the field is here: https://github.com/bobdenotter/symfony-skeleton/blob/master/templates/editcontent/fields/slug.twig

screenshot 2018-10-02 at 19 38 08

Ideally, this field should be converted to a nice, self-contained Vue component, that's easier to maintain.

Current JS code entry point is here: https://github.com/bobdenotter/symfony-skeleton/blob/master/assets/js/bolt.js

Build instructions are in README.md. After setting up, you should be able to log on to the Admin Panel, at /bolt, and from the Dashboard click on "Edit" on any of the dummy records to go to the Edit page.

Note: the current code is very prototype-y. Feel free to re-arrange stuff, if it makes more sense. :-)

Make edit content titles show the content type of the Record

Make edit content titles show the content type of the Record.

Currently it is:
Edit » {{record.name}}.
needs to be:
Edit {{contenttype.singular_name}} » {{record.name}}.

It would be also good to have a values for the icons used on each page as well

`/api` results have unwanted items

While fetching data using /api/contents.json should be public, it should omit some data, like config, definition and author. See Screenshot:

screenshot_2018-10-12_at_13_07_51-2

Bolt 4.0.0 beta 1 - Tracker Issue

This issue will contain a list of items that need to be completed (or at least "well underway"), before we can release Bolt 4.0.0 alpha 1

MagicContentTrait DX improvements

Splitted from #148

  • I really don't like all those "magic" methods in ContentMagicTrait. Can we at least rename them to be less magical? :)
  • if we could make $this->fields a name-indexed array, using this method be much faster (simple isset instead of foreaching).
  • rename to get to getField, has to hasField

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.