Giter VIP home page Giter VIP logo

mixer's Introduction

Mixer

Latest Version License

A plugin to discover and manage CakePHP plugins and generate skeleton application code.

Requirements

  • PHP 5.6+
  • CakePHP 3.4+

Installation

You can install this plugin into your CakePHP application using composer.

The recommended way to install composer packages is:

composer require --dev cakedc/mixer

Ensure Mixer Plugin is loaded in your config/bootstrap.php file

if (Configure::read('debug')) {
    Plugin::load('CakeDC/Mixer', ['bootstrap' => true, 'routes' => true]);
}

Now you can navigate to your app /mixer URL and start discovery and managing your plugins! It searches through all packages on Packagist with type "cakephp-plugin" excluding CakePHP 2.x packages.

Attention: we don't want you to use Mixer in production. That's why we're asking to add it to require-dev composer.json section and it will only work when debug is on.

Support

For bugs and feature requests, please use the issues section of this repository.

Commercial support is also available, contact us for more information.

Contributing

This repository follows the CakeDC Plugin Standard. If you'd like to contribute new features, enhancements or bug fixes to the plugin, please read our Contribution Guidelines for detailed instructions.

License

Copyright 2017 Cake Development Corporation (CakeDC). All rights reserved.

Licensed under the MIT License. Redistributions of the source code included in this repository must retain the copyright notice found in each file.

mixer's People

Contributors

admad avatar andrej-griniuk avatar dereuromark avatar mosaxiv avatar steinkel 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

Watchers

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

mixer's Issues

Mixer Stuck

Hello,
Mixer is stuck when I trying install some plugins, the screen said: Please wait, it might take a bit
What is wrong?

Error: [Cake\Http\Exception\InvalidCsrfTokenException] Missing CSRF token cookie

Hello!
On version CakePHP 3.6.7, I encountered an error when I tried to generate code for tables in the kitchen:

2018-07-19 13:39:21 Error: [Cake\Http\Exception\InvalidCsrfTokenException] Missing CSRF token cookie Request URL: /mixer/bake.json Referer URL: http://example.loc/mixer/kitchen

Clarify please, where it is necessary to connect a token, so instead of forming errors, the Kitchen in the Mixer worked as it should?
Thank you!

Cross Site Request Forgery (CSRF) Problem

a Solution found: https://stackoverflow.com/a/47718018
== Avoid csfr Token for the mixer plugin

add to / src/Application.php

use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;

and to

public function middleware($middleware) {
$middleware->add(function (
ServerRequestInterface $request,
ResponseInterface $response,
callable $next
) {
$params = $request->getAttribute('params');
if ($params['controller'] !== 'Mixer') {
$csrf = new CsrfProtectionMiddleware([
'httpOnly' => true
]);

                // This will invoke the CSRF middleware's `__invoke()` handler,
                // just like it would when being registered via `add()`.
                return $csrf($request, $response, $next);
            }

            return $next($request, $response);
        });

}

But maybe its better to add CSFR Support to the json requests for latest Cake

Error while updating a plugin

When I click on "update" I get a 500.

message: "The source URI string appears to be malformed", url: "/mixer/update.json", code: 500,โ€ฆ}
code
:
500
file
:
".../vendor/zendframework/zend-diactoros/src/Uri.php"
line
:
440
message
:
"The source URI string appears to be malformed"
url
:
"/mixer/update.json"

Mixer requires cakephp 3.4.*

Mixer is not supported in CakePHP v3.5.

$[...]/app>composer require --dev cakedc/mixer
Using version ^1.1 for cakedc/mixer
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

Problem 1
- cakedc/mixer 1.1.1 requires cakephp/cakephp 3.4.* -> satisfiable by cakephp/cakephp[3.4.0, 3.4.0-RC1, 3.4.0-RC2, 3.4.0-RC3, 3.4.0-RC4, 3.4.0-beta1, 3.4.0-beta2, 3.4.0-beta3, 3.4.0-beta4, 3.4.1,
3.4.10, 3.4.11, 3.4.12, 3.4.13, 3.4.2, 3.4.3, 3.4.4, 3.4.5, 3.4.6, 3.4.7, 3.4.8, 3.4.9] but these conflict with your requirements or minimum-stability.
- cakedc/mixer 1.1.0 requires cakephp/cakephp 3.4.* -> satisfiable by cakephp/cakephp[3.4.0, 3.4.0-RC1, 3.4.0-RC2, 3.4.0-RC3, 3.4.0-RC4, 3.4.0-beta1, 3.4.0-beta2, 3.4.0-beta3, 3.4.0-beta4, 3.4.1,
3.4.10, 3.4.11, 3.4.12, 3.4.13, 3.4.2, 3.4.3, 3.4.4, 3.4.5, 3.4.6, 3.4.7, 3.4.8, 3.4.9] but these conflict with your requirements or minimum-stability.
- Installation request for cakedc/mixer ^1.1 -> satisfiable by cakedc/mixer[1.1.0, 1.1.1].

Installation failed, reverting ./composer.json to its original content.

License warning for copy left and worse

Derived from FriendsOfCake/awesome-cakephp#271 and after some talk with @phpnut
Most dont know much about licensing and by accident you can easily violate some legal grounds here.

Please put in a warning or (orange) coloring for non MIT or at least copy-left and worse licenses like

  • AGPL (requires access to code for all in the network)
  • ...

A filter here for licenses would also be nice, I can use that to make sure the awesome list stays awesome for all use cases, not just the open source project ones.
Thx :)

deprecations

For upcoming 3.6 you need to remove deprecations:

RouteBuilder::extensions() is deprecated. Use RouteBuilder::setExtensions()/getExtensions() instead. - /home/vagrant/Apps/x.local/vendor/cakedc/mixer/config/routes.php, line: 10

since it uses 3.4+ most of those can already be replaced

HTTPS issue

My local dev environment is using HTTPS.

After installing Mixery, it shows me a forever loading page as shown below:

screen_shot_2017-06-22_at_11 08 14_am

After I change my dev to use HTTP, it worked immediately. So I guess there is some issue with how mixer fetching the content based on the protocol.

Link to awesome list

The top bar besides "Kitchen" and "Installed Plugins" should list a third link to "Awesome List" etc:
https://github.com/FriendsOfCake/awesome-cakephp

This way people can also browse the full list of available and featured CakePHP plugins.
After all, it is a "A plugin to discover". :)
Some might still not be aware of this useful aggregation.

"Kitchen" is broken on anything but MySQL

"Kitchen" relies only on the SHOW TABLES sql to determine what tables are available in the database. This syntax only works with MySQL meaning that it is unusable with any other database engine.

It should instead use the listTables() method that is provided by the ORM.

remove outdated/deprecated aliases

Screenshot from 2019-12-11 10-13-15

The latter is the old package, and when you click on it even also redirects to the new primary one (FOC).
The old ones shouldnt be listed anymore.

Updating plugins moves them out of require_dev

I updated bake and debug_kit through mixer and it moved the dependencies out of require-dev into require.
A way to configure that or any magic (certain plugins are always require_dev) would be highly appreciated ๐Ÿ™‚

Installing/Deinstalling Plugins doesnt work

If I try to install a plugin the request to http:///mixer/install.json fails:
{
"message": "Method Not Allowed",
"url": "/mixer/install.json",
"code": 405,
"file": "C:\
*\vendor\cakephp\cakephp\src\Http\ServerRequest.php",
"line": 1758
}

System:
Windows 10
Apache/PHP 7

Uninstall cakedc/users fails

Updated to the newest Version of CakePHP and Mixer - tried to uninstall users from cakedc - after 2 hours I closed the tab, because nothing seemed to happen.

General
Request URL:http://www.test.de/mixer/uninstall.json
Request Method:POST
Status Code:200 OK
Remote Address:127.0.0.1:80
Referrer Policy:no-referrer-when-downgrade

Response Headers
view source
Connection:keep-alive
Content-Type:application/json; charset=UTF-8
Date:Mon, 03 Jul 2017 20:42:21 GMT
Server:nginx/1.10.1 (Ubuntu)
Transfer-Encoding:chunked

CakePHP 3.4.9
Webserver NGINX
OS Ubuntu 16.04

Image: https://ibb.co/nnXrja

There should be a force-refresh button

I suspect some cache being used.
New releases are not showing up even after minutes.
And the README and alike are also outdated after releases and you cannot get the fresh content
I tried http://...l/mixer/view/dereuromark/cakephp-ide-helper
And still got the old tags, after minutes.

A small force refresh or cache warm button might be useful here.

Download and star stats wrong class

The download and stars statistics on the plugins overview have a cursor: pointer css due to a btn class.
That class should be removed, those infos are not clickable and now suggest currently they are.

If you want to, you could add a quicklink to the packagist repo here for details etc.
but just removing the cursor pointer might already suffice :)

Rel. images display

Relative images, e.g. in
/mixer/view/dereuromark/cakephp-ide-helper
should be prepended with the repo URL so the IMG URLs become valid and the images will display.

A similar issue is on the same page with rel. links, e.g.
"See the Docs for details." at the bottom.

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.