Coder Social home page Coder Social logo

sulu / skeleton Goto Github PK

View Code? Open in Web Editor NEW
258.0 22.0 80.0 245.88 MB

Project template for starting your new project based on the Sulu content management system

Home Page: https://sulu.io

License: MIT License

JavaScript 8.08% PHP 81.94% Twig 9.99%
symfony cms sulu sulucms website web-application platform admin hacktoberfest

skeleton's Introduction


Sulu logo


GitHub license GitHub tag (latest SemVer) Test workflow status


Sulu is a highly extensible open-source PHP content management system based on the Symfony framework. Sulu is developed to deliver robust multi-lingual and multi-portal websites while providing an intuitive and extensible administration interface to manage the full content lifecycle.

Have a look at the official Sulu website for a comprehensive list of Sulus features, core values and use cases.


Sulu Slideshow


This repository provides the recommended project template for starting your new project based on the Sulu content management system. The project template follows the best-practices of the Symfony framework and builds upon tho official symfony/skeleton template. In addition, it requires and configures the Sulu content management system core framework sulu/sulu.

If you want to extend your already set up Sulu project, visit the Sulu organization on GitHub for a complete list of official Sulu bundles.

๐Ÿš€ย  Installation and Documentation

Starting a new Sulu project with the sulu/skeleton template is as easy as executing the following composer command:

composer create-project sulu/skeleton my-project

Afterwards, visit the official Sulu documentation to find out how to initialize and configure your project to your specific needs.

โค๏ธย  Community and Contributions

The Sulu content management system is a community-driven open source project backed by various partner companies. We are committed to a fully transparent development process and highly appreciate any contributions. Whether you are helping us fixing bugs, proposing new feature, improving our documentation or spreading the word - we would love to have you as part of the Sulu community.

๐Ÿ“ซย  Have a question? Want to chat? Run into a problem?

We are happy to welcome you in our official Slack channel! Obviously you can always reach out to us directly via the Sulu twitter account or post your question on StackOverflow with the official sulu tag.

๐Ÿคย  Found a bug? Missing a specific feature?

Feel free to file a new issue with a respective title and description on the the sulu/sulu repository. If you already found a solution to your problem, we would love to review your pull request! Have a look at our contribution guidelines to find out about our coding standards.

โœ…ย  Requirements

Sulu requires a PHP version higher or equal to 7.2 and is compatible with every Symfony version starting from 4.3. Have a look at the require section in the composer.json of the sulu/sulu core framework to find an up-to-date list of the requirements of Sulu content management system.

๐Ÿ“˜ย  License

The Sulu content management system is released under the under terms of the MIT License.

skeleton's People

Contributors

alexander-schranz avatar chirimoya avatar danrot avatar dmetzler1988 avatar erfanebrahimnia avatar ggioffreda avatar jordygroote avatar kfrohwein avatar localheinz avatar luca-rath avatar mamazu avatar mmsbrggr avatar nicolas-grekas avatar niklasnatter avatar prokyonn avatar renezumtobel avatar rogamoore avatar sagikazarmark avatar scasei avatar staffnowa avatar trickreich avatar vinceamstoutz avatar wachterjohannes avatar webmozart avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

skeleton's Issues

On install server:start is missing from bin/console

Q A
Bug? yes
New Feature? no
Sulu Version 2.1.1
Browser Version N/A

Actual Behavior

After install and creation of the site, I can't start the server because the command server:start is missing from bin/console. server:dump and server:log are present.

Expected Behavior

Per the getting started guide, bin/console server:start should start a webserver.

Steps to Reproduce

I just followed the getting started guide https://docs.sulu.io/en/2.0/book/getting-started.html

Segmentation fault on sulu:security:user:create

Hi,
I've got an issue following Getting Started documentation to install sulu 2.3.7 (latest currently). At user creation step within "bin/adminconsole sulu:build dev" :
adminconsole
All the database is created, role User is created but the user not and throw segmentation fault.

I've tried with "php ./bin/adminconsole sulu:security:user:create" and it's the same : Segmentation fault.
I have tried on 2 others Sulu previously installed in 2.3.0 and 2.3.6 and it works so it seems to be skeleton of 2.3.7... ?
Could you reproduce that bug ? To reproduce I only follow Getting started Steps (I tried many times, dropping database and creating again to be sure).
Really thanks in advance.

Javascript setup is not compatible with npm 7 / 8 / 9

The javascript setup in the assets/admin folder uses the file:... syntax to require Sulu packages such as the sulu-admin-bundle:

"sulu-admin-bundle": "file:../../vendor/sulu/sulu/src/Sulu/Bundle/AdminBundle/Resources/js",
"sulu-audience-targeting-bundle": "file:../../vendor/sulu/sulu/src/Sulu/Bundle/AudienceTargetingBundle/Resources/js",
"sulu-category-bundle": "file:../../vendor/sulu/sulu/src/Sulu/Bundle/CategoryBundle/Resources/js",
"sulu-contact-bundle": "file:../../vendor/sulu/sulu/src/Sulu/Bundle/ContactBundle/Resources/js",
"sulu-custom-url-bundle": "file:../../vendor/sulu/sulu/src/Sulu/Bundle/CustomUrlBundle/Resources/js",
"sulu-location-bundle": "file:../../vendor/sulu/sulu/src/Sulu/Bundle/LocationBundle/Resources/js",
"sulu-media-bundle": "file:../../vendor/sulu/sulu/src/Sulu/Bundle/MediaBundle/Resources/js",
"sulu-page-bundle": "file:../../vendor/sulu/sulu/src/Sulu/Bundle/PageBundle/Resources/js",
"sulu-preview-bundle": "file:../../vendor/sulu/sulu/src/Sulu/Bundle/PreviewBundle/Resources/js",
"sulu-route-bundle": "file:../../vendor/sulu/sulu/src/Sulu/Bundle/RouteBundle/Resources/js",
"sulu-search-bundle": "file:../../vendor/sulu/sulu/src/Sulu/Bundle/SearchBundle/Resources/js",
"sulu-security-bundle": "file:../../vendor/sulu/sulu/src/Sulu/Bundle/SecurityBundle/Resources/js",
"sulu-snippet-bundle": "file:../../vendor/sulu/sulu/src/Sulu/Bundle/SnippetBundle/Resources/js",
"sulu-website-bundle": "file:../../vendor/sulu/sulu/src/Sulu/Bundle/WebsiteBundle/Resources/js"

Dependencies that are required like this will be symlinked into the assets/admin/node_moules directory. Unfortunately, npm v7 does not install the dependencies of these dependencies at the moment: npm/cli#2339

Because of this, the dependencies of the Sulu bundles are not installed and the build fails with a lot of error messages like this:

ERROR in /sulu-skeleton/vendor/sulu/sulu/src/Sulu/Bundle/AdminBundle/Resources/js/components/Tabs/Tabs.js
Module not found: Error: Can't resolve 'classnames' in '/sulu-skeleton/vendor/sulu/sulu/src/Sulu/Bundle/AdminBundle/Resources/js/components/Tabs'
 @ /sulu-skeleton/vendor/sulu/sulu/src/Sulu/Bundle/AdminBundle/Resources/js/components/Tabs/Tabs.js 54:0-36 347:22-32
 @ /sulu-skeleton/vendor/sulu/sulu/src/Sulu/Bundle/AdminBundle/Resources/js/components/Tabs/index.js
 @ /sulu-skeleton/vendor/sulu/sulu/src/Sulu/Bundle/AdminBundle/Resources/js/components/index.js
 @ /sulu-skeleton/vendor/sulu/sulu/src/Sulu/Bundle/ContactBundle/Resources/js/components/ContactDetails/Phone.js
 @ /sulu-skeleton/vendor/sulu/sulu/src/Sulu/Bundle/ContactBundle/Resources/js/index.js
 @ ./index.js

PHP 8 compatibility from latest Sulu releases was not adjusted in skeleton

Q A
Bug? yes?
New Feature? no
Sulu Version 2.1.9 & 2.2.5
Browser Version n/a

Actual Behavior

composer create-project sulu/skeleton fails to install on PHP 8
[InvalidArgumentException] Could not find package sulu/skeleton with stability stable in a version installable using your PHP version, PHP extensions and Composer version.

Expected Behavior

Installation runs without composer refusing to proceed

Steps to Reproduce

Execute the composer create-project command on any system running PHP 8

Possible Solutions

Adjust compose.json php requirements according to the changes to sulu itself for v2.1.9 and v2.2.5
It currently only allows ^7.2 instead of ^7.2 || ^8.0

.gitignore vs .gitkeep?

skeleton/src/Controller/Admin/.gitignore

Shouldn't the name be .gitkeep?

Same in /Website/

[2.3] Admin interface fails to build

Q A
Bug? yes
New Feature? no
Sulu Version 2.3.13
Browser Version Google Chrome 116

Actual Behavior

The build from source process fails, both with bin/adminconsole sulu:admin:update-build and npm run build.

Expected Behavior

The build to succeed. (Obviously. ๐Ÿ™‚)

Steps to Reproduce

Good afternoon,

I've currently spent all day trying to get the Sulu administration interface to build on a client project. There are modest changes injected in to:

  • Add a category field for users
  • Add a toolbar to an import section

I am however able to replicate the issue by commenting out the changes in our "app.js" and build just the Sulu administration interface "as is" from source. We haven't modified the "package.json", it's fresh from 2.3.13.

We're using Node 14.21.3 and NPM 6.14.18. (Fetched via NVM.) A manual build process is as follows:

nvm use 14
rm -rf assets/admin/node_modules && rm -rf vendor/sulu/sulu/node_modules && rm -rf vendor/sulu/sulu/src/Sulu/Bundle/*/Resources/js/node_modules
rm -rf assets/admin/package-lock.json && rm -rf vendor/sulu/sulu/package-lock.json && rm -rf vendor/sulu/sulu/src/Sulu/Bundle/*/Resources/js/package-lock.json
cd ./assets/admin
npm cache clean --force
npm install
npm run build

It would appear there are issues with the following modules from the Sulu skeleton:

  • sulu-admin-bundle/views/Tabs/Tabs.js
  • sulu-admin-bundle/containers/Form/fields/Heading.js
  • sulu-admin-bundle/containers/Form/fields/SmartContent.js
  • sulu-admin-bundle/containers/List/stores/ListStore.js
  • sulu-preview-bundle/containers/Preview/Preview.js
  • sulu-admin-bundle/containers/Form/fields/Checkbox.js
  • sulu-admin-bundle/containers/FieldBlocks/FieldBlocks.js
  • sulu-page-bundle/views/List/itemActions/RestoreVersionItemAction.js
  • sulu-page-bundle/containers/Form/fields/SegmentSelect.js
  • sulu-admin-bundle/containers/Form/fields/SingleSelection.js
  • sulu-admin-bundle/containers/Form/stores/MemoryFormStore.js
  • sulu-security-bundle/containers/RolePermissions/SystemRolePermissions.js
  • sulu-admin-bundle/containers/Form/stores/ResourceFormStore.js
  • htmlparser2/lib/esm/index.js
  • sulu-admin-bundle/containers/Form/conditionDataProviders/localeConditionDataProvider.js
  • sulu-admin-bundle/containers/List/List.js
  • sulu-page-bundle/containers/Form/fields/SettingsVersions.js

All of these with exception of the "htmlparser2" module all appear to be a syntax error due to the inability to use optional chaining. (E.g. something?.id)

Possible Solutions

I can solve most of the above by including the @babel/plugin-transform-optional-chaining plug-in:

npm install --save-dev @babel/plugin-transform-optional-chaining

Then add a "@babel/plugin-transform-optional-chaining" line to the "plugins" array within file "babel.config.json":

{
    "presets": [
        ["@babel/preset-env", {"useBuiltIns": "usage", "corejs": "3.18"}],
        "@babel/preset-react"
    ],
    "plugins": [
        ["@babel/plugin-proposal-decorators", {"legacy": true}],
        "@babel/plugin-transform-flow-strip-types",
        "@babel/plugin-transform-optional-chaining", // <<-- This
        "@babel/plugin-proposal-nullish-coalescing-operator",
        "@babel/plugin-proposal-class-properties"
    ],
    "assumptions": {
        "setPublicClassFields": true
    }
}

The other issue regarding htmlparser2 I couldn't solve by just including the domelementtype package. I found another issue suggesting downgrading it to version 7.2.0, including @babel/plugin-proposal-export-namespace-from, or including @babel/plugin-transform-export-namespace-from, neither of which resolved this.

A bunch of other issues came up, which could be progress:

ERROR in ./index.js
Module not found: Error: Can't resolve 'sulu-admin-bundle' in './assets/admin'

ERROR in ./index.js
Module not found: Error: Can't resolve 'sulu-audience-targeting-bundle' in './assets/admin'

ERROR in ./index.js
Module not found: Error: Can't resolve 'sulu-category-bundle' in './assets/admin'

ERROR in ./index.js
Module not found: Error: Can't resolve 'sulu-contact-bundle' in './assets/admin'

ERROR in ./index.js
Module not found: Error: Can't resolve 'sulu-custom-url-bundle' in './assets/admin'

ERROR in ./index.js
Module not found: Error: Can't resolve 'sulu-location-bundle' in './assets/admin'

ERROR in ./index.js
Module not found: Error: Can't resolve 'sulu-media-bundle' in './assets/admin'

ERROR in ./index.js
Module not found: Error: Can't resolve 'sulu-page-bundle' in './assets/admin'

ERROR in ./index.js
Module not found: Error: Can't resolve 'sulu-preview-bundle' in './assets/admin'

ERROR in ./index.js
Module not found: Error: Can't resolve 'sulu-route-bundle' in './assets/admin'

ERROR in ./index.js
Module not found: Error: Can't resolve 'sulu-search-bundle' in './assets/admin'

ERROR in ./index.js
Module not found: Error: Can't resolve 'sulu-security-bundle' in './assets/admin'

ERROR in ./index.js
Module not found: Error: Can't resolve 'sulu-snippet-bundle' in './assets/admin'

ERROR in ./index.js
Module not found: Error: Can't resolve 'sulu-website-bundle' in './assets/admin'

I tried npm run preinstall to get the Sulu bundles resolved though that brought me back to the "htmlparser2" issue with "domelementtype".

Where could I go from here?

Not sure if 2.3 is still maintained to any degree. I don't really have any more client time to spend bringing the project up to 2.4 and 2.5 unless there would be certainty that the above issue would be resolved by either of them.

System requirements for PHP are confusing (8.0 vs. 8.1)

Q A
Bug? maybe
New Feature? no
Sulu Version 2.5.x / latest
Browser Version irrelevant

Actual Behavior

The skeleton requires PHP version 8.1 and higher:

skeleton/composer.json

Lines 29 to 30 in eb5158c

"require": {
"php": "^8.1",

Sulu itself allows version 8.0 and higher:

https://github.com/sulu/sulu/blob/097a23c376f1fddbcdfdbd4f564f7847ec0cc934/composer.json#L27-L28

The documentation says PHP 8.0 and higher:

The following requirements must be met to run Sulu:

  • Mac OSX, Linux or Windows
  • Apache or Nginx with enabled URL rewriting
  • PHP 8.0 or higher
  • โ€ฆ

https://docs.sulu.io/en/2.5/reference/requirements.html

Expected Behavior

If Sulu allows version 8 of PHP and the documentation also lists this version under the system requirements, then the skeleton should allow the same version.

Steps to Reproduce

See above.

Possible Solutions

Update the Composer configuration of this package.

Building admin assets on Windows leads to javascript errors

Q A
Bug? YES
New Feature? NO
Sulu Version 2.1.0
Browser Version irrelevant

Actual Behavior

I'm sorry for the inconvenience (and my english). I m beginner to Sulu and react. I have install sulu/skeleton and read the documentation. I did :
cd assets\admin
npm install
npm run watch
or
npm run build

It's work but when I go on any page who have a content type : text_editor I get the follows errors about ckeditor :
`plugincollection-load: It was not possible to load the plugin. Read more: https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/error-codes.html#error-plugincollection-load

plugincollection.js:254:13
plugincollection-load: It was not possible to load the plugin. Read more: https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/error-codes.html#error-plugincollection-load Object { plugin: n(e) }

CKEditor5.js:214:20
CKEditorError: plugincollection-plugin-not-loaded: The requested plugin is not loaded. Read more: https://ckeditor.com/docs/ckeditor5/latest/framework/guides/โ€ฆrt/error-codes.html#error-plugincollection-plugin-not-loaded {"plugin":"ContextualBalloon"}

I remove all package-locks.json and all node_modules then again i did executed npm install and npm run watch. I get always the javascript errors.
I have reinstall sulu/skelleton for test but the same problem
I didn't to do edit in the code.

Expected Behavior

I would like to custom admin UI.

Steps to Reproduce

Get the repo
navigate to ./assets/admin directory
execute npm install or npm run watch
refresh one admin page with the type content : text_editor

Possible Solutions

I don't know

Problems building the administration interface frontend application

Sulu Version: 2.3.1
Platform: Ubuntu

Actual Behavior

When I modify assets/admin/index.js and launch the administration interface frontend application build, I get a set of errors in building React like the following:

ERROR in ./node_modules/sulu-admin-bundle/containers/List/fieldFilterTypes/AbstractFieldFilterType.js 9:8
Module parse failed: Unexpected token (9:8)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
You may need an additional loader to handle the result of these loaders.
| import { action, observable } from 'mobx';
| let AbstractFieldFilterType = (_class = class AbstractFieldFilterType {
>   value = _initializerWarningHelper(_descriptor, this);
| 
|   constructor(onChange, parameters, value) {

This happens with all accepted node versions (12, 14), and using any of the possible options in
https://docs.sulu.io/en/2.3/cookbook/build-admin-frontend.html
(command line, with docker, manually on local)

Expected Behavior

I expect that the libraries get built

Steps to Reproduce

This is difficult to reproduce, our site was created last year, and I was trying to get this done without updating the 2.3.1 version not to have to recheck all the application's codebase against the changes, as I just need to make minor changes to the admin interface.

I tried to setup a 2.3.1 environment starting from Skeleton tag 2.3.1 but it is practically impossible to make it work, as most libraries included with composer have shifted versions.

Possible Solutions

Is there some missing React transpile instruction in Babel that we need to add?
Maybe there's a conflict we created by using symfony/webpack-encore-bundle to create our own frontend build system? In theory the should not have a conflict, as it resides in a different folder from the admin build system.

Should we update to some version in the 2.3.*? As mentioned above, I would rather not if it's not unavoidable.

Cannot build admin UI from sources

Q A
Bug? YES
New Feature? NO
Sulu Version 2.0.6
Browser Version irrelevant

Actual Behavior

I'm not able to build admin UI using files in the repo. I'm getting lots of errors related to scss compilation.
obraz

Expected Behavior

I should be able to build admin UI ๐Ÿ˜„

Steps to Reproduce

  • Checkout the repo
  • navigate to ./assets/admin directory
  • execute npm install
  • execute npm run build

Possible Solutions

The problem here is missing package-lock.json
Please commit correct package-lock.json with proper versions of dependencies locked. I found one which works for me here: https://github.com/sulu/sulu-workshop-symfony-live-berlin-2019/blob/master/assets/admin/package-lock.json

When I've copied this file to ./assets/admin directory and installed node_modules I was finally able to build the project

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.