Feature request from mage2pro, posted on GitHub Nov 13, 2015
https://github.com/magento/magento2/blob/2335247d4ae2dc1e0728ee73022b0a244ccd7f4c/app/code/Magento/Catalog/Block/Product/AbstractProduct.php#L374-L379
... View more
Feature request from brideo, posted on GitHub Nov 13, 2015
http://php.net/manual/en/language.oop5.late-static-bindings.php
Rather than this:
/**
* @return bool
*/
protected function _isAllowed()
{
return $this->_authorization->isAllowed(self::ADMIN_RESOURCE);
}
We should have this:
/**
* @return bool
*/
protected function _isAllowed()
{
return $this->_authorization->isAllowed(static::ADMIN_RESOURCE);
}
By using a static binding, we don't have to completely re-write the _isAllowed method in our controller action, instead we can simply define our ADMIN_RESOURCE constant, we then can let the AbstractAction handle our logic.
This would be a completely backwards compatible change.
... View more
Feature request from hostep, posted on GitHub Nov 15, 2015
Hi
Using Magento 2.0.0-rc2.
I currently find it hard to edit a static block or cms page. We are now obligated to click at least twice on a tiny target, or even more then that if you make the mistake of clicking into a column which isn't the action column, due to the inline editing feature opening up.
I can see the usefulness of inline editing when clicking on a row, but now it's becoming a bit harder to actually edit the contents of the page/block.
I think in 80% of the cases when someone goes to the blocks/pages grid, it is to edit the contents of that block/page, not to change the title or the status or something like that.
Here are some ideas to make it a bit more practical while keeping the inline editing feature:
Split the actions into multiple columns, so you can click directly on 'Edit'
Clicking on a column in a row which you can't edit inline (ID, created/modified dates, ...) should open up the static block/page immediately
Add a configuration option above the grid to enable/disable the inline editing feature
...
If anybody has other ideas to make this a less frustrating experience, please tune in :)
Thanks!
... View more
Feature request from mage2pro, posted on GitHub Nov 16, 2015
https://mage2.pro/t/topic/209
... View more
Feature request from mage2pro, posted on GitHub Nov 17, 2015
See, for example:
https://github.com/magento/magento2/blob/2335247d4ae2dc1e0728ee73022b0a244ccd7f4c/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_new.xml#L55
<block
class="Magento\Catalog\Block\Adminhtml\Product\Edit\Js"
name="catalog_product_js"
template="catalog/product/js.phtml"
/>
is the same as
<block
class="Magento\Catalog\Block\Adminhtml\Product\Edit\Js"
name="catalog_product_js"
template="Magento_Catalog::catalog/product/js.phtml"
/>
But it is not possible for CSS and JS declarations:
https://github.com/magento/magento2/blob/2335247d4ae2dc1e0728ee73022b0a244ccd7f4c/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_new.xml#L12
<css src="Magento_Catalog::product/product.css"/>
It would be nice to have an abilily skip the current module prefix and use some shorter syntax like <css src="product/product.css"/> or <css src="::product/product.css"/>
... View more
Feature request from hiephm, posted on GitHub Jan 18, 2016
Although Magento 2 allows hooking to event when logging in to add additional validations (just like Magento 1), there is no way to change the error message if those validation failed (e.g by throwing Exception) since a default message is used for general Exception:
# \Magento\Customer\Controller\Account\LoginPost::execute()
...
} catch (\Exception $e) {
$this->messageManager->addError(__('Invalid login or password.'));
}
In the other hand, the same logic in Magento 1 is more customizable:
# \Mage_Customer_AccountController::loginPostAction()
switch ($e->getCode()) {
...
default:
$message = $e->getMessage();
}
$session->addError($message);
... View more
Feature request from brendanmckeown, posted on GitHub Jan 20, 2016
Both of the API routes in module-integration/etc/webapi.xml to get an authentication token work over http. These routes should be secure and only acceptable over https, because you are passing sensitive account information in the request body. This can be achieved by adding secure="true" to each <route> node:
<route url="/V1/integration/admin/token" method="POST" secure="true">
<service class="Magento\Integration\Api\AdminTokenServiceInterface" method="createAdminAccessToken"/>
<resources>
<resource ref="anonymous"/>
</resources>
</route>
<route url="/V1/integration/customer/token" method="POST" secure="true">
<service class="Magento\Integration\Api\CustomerTokenServiceInterface" method="createCustomerAccessToken"/>
<resources>
<resource ref="anonymous"/>
</resources>
</route>
If this was an intentional decision, is there a way I can override this route in a custom module and enforce this behavior?
... View more
Hi! Would be very useful to have a report showing all the unshipped quantites of SKUs still on ordered status. And also to have the order number on which these unshipped SKUs appear. Thank you!
... View more
See more ideas labeled with:
Feature request from moleman, posted on GitHub Jan 21, 2016
When you run commands in an build environment, like Jenkins, you want the commands to return a non-zero exit code if an error occurred so that Jenkins can fail the build.
Currently if any error occurs when you run setup:static-content:deploy it will not return a non-zero exit code which makes the build succeed even though the build is incomplete.
Example:
=== frontend -> Vaimo/XXX -> en_US ===
...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Compilation from source:
frontend/Vaimo/XXX/en_US/css/email-inline.less
variable @media-common is undefined in file /XXX/en_US/css/source/_theme.less in _theme.less on line 24, column 9
22| // Global
23| // _____________________________________________
24| & when (@media-common = true) {
25| .svg-link {
26| pointer-events: none;
27| }>
This will make the generation of static files to stop right in the middle because of an error but it will still not return a non-zero exit code which makes the build incomplete and Jenkins will not know about it.
The same behaviour occurs when you run setup:di:compile and when you switch deploy mode with deploy:mode:set. All of these commands should return a non-zero exit code if any error occurs.
... View more
Feature request from ovdev1, posted on GitHub Jan 30, 2016
Just noticed when trying to load table rates that the directory_country_region table contains the wrong state code for Queensland Australia, should be QLD not QSD
... View more
Feature request from ankursachdeva11, posted on GitHub Feb 01, 2016
I am trying to create custom api using webapi and we need output in custom XML.
When we are trying to return some XML and hit the rest API url then XML shown as plain text in the .... tags. It is not creating XML in response.
it shows like this :
Is there any way to modify the response tag to get custom XML response.
... View more
Feature request from augsteyer, posted on GitHub Feb 03, 2016
I believe this is a bug where I am trying to pass a JSON object like this
{
"action":"get_setting",
"settings":
[
{
"name": "t",
"value": "p"
}
]
}
Where the interface looks like this
/**
* @param string $action
* @param array[][] $settings - the type here is the problem area
*
* @return string
*/
public function setSettings($action, $settings);
I have currently tried many variations of string[][], array[], string[], mixed[], Array[], etc, without any way of passing settings without getting an error thrown at the lib/internal/Magento/Framework/Webapi/ServiceInputProcessor.php::process() function.
The root cause of the problem is that in lib/internal/Magento/Framework/Webapi/ServiceInputProcessor.php::convertValue() it has no way of parsing array of arrays. If it's something like "string[][]" it will consider it a simple type and will try to match it to !settype(array(...), string), which results into an error. If it's something unknown like array[][]. It will consider it complex, and try to initialize it as a class, where it will figure out that 'array' is not a class.
A way of solving, would be to make array a simple type, however I do not know the implications of such change, hence why it's not a pull request. The change would also allow this case to be accepted whether it's array[][] or array[] or array, so most likely not a good solution.
lib/internal/Magento/Framework/Reflection/TypeProcessor.php::isTypeSimple()
...
return in_array(
$type,
[
self::NORMALIZED_STRING_TYPE,
self::NORMALIZED_INT_TYPE,
self::NORMALIZED_FLOAT_TYPE,
self::NORMALIZED_DOUBLE_TYPE,
self::NORMALIZED_BOOLEAN_TYPE,
self::NORMALIZED_ARRAY_TYPE //'array' <------
]
);
... View more
Feature request from avoking100, posted on GitHub Feb 05, 2016
Hello guys. New to Github, New to M2, New to bugs.
When I add a new "Configurable product" I need to choose "weight". Now, since I dont have weight for this product, I choose "Weight" = No.
When I create configurations for this product, i see it generates VIRTUAL products instead of SIMPLE products. The problem is I want SIMPLE products, even I do not have a weight (!).
After I load the product again I See "Weight" =" yes", I try to save it as "NO" but it always keep showing "yes".
Now, the problem with Virtual products that are generated, is: when I go to checkout selection these products it does not offer me to enter shipping address. So this issue is critical for me. I can not make SIMPLE products using a "Configurable product" because I do not have a weight?
I hope anyone can help me and confirm it is a bug.
Thank you!
... View more
Feature request from ajpevers, posted on GitHub Feb 12, 2016
It would be helpful if pending entries in cron_schedule are deleted when changing a cron job's config:
I've changed the config from 09:50:00 to 09:55:00 and then to Enabled: No.
In between changing the config settings i ran: magento cache:clean config && magento cron:run .
The result was this:
At the moment that the cron is turned off by config it will still run based on the cron_schedule entry:
Here the config was off, but the cron job will still run.
AOE_Scheduler has a nice fix for this and it reschedules the job at the moment you change the configuration. It would be nice if Magento itself would at least remove the pending schedules on config change.
... View more
Feature request from stefandoorn, posted on GitHub Feb 12, 2016
The way the ErrorHandler is loaded in Framework\App\Bootstrap probably prevents interception on the ErrorHandler class. Reason I would like to use this, is to adjust the ErrorHandler in a more developer friendly version (Whoops).
It makes sense, as the error handler needs to be registered before the object manager will be loaded. But, it would be great if there is a method to register another error_handler after that is done.
So basically it would be:
Register default Magento error handler
Load object manager
Register default Magento error handler again using object manager
The second moment would allow for interception I believe. Or, am I overseeing a method to register a different error_handler?
... View more
Feature request from miguelbalparda, posted on GitHub Feb 15, 2016
While trying to use the new performance tool on a Magento 2.0.2 with Sample data I can only get a couple of admin requests and the test ends. Below is the command I'm using and the output and logs.
michael@michael-HP-Pavilion-15-Notebook-PC:~/Downloads/apache-jmeter-2.13$ ./bin/jmeter -n -t bench.jmx -Jhost=xxxx.net -Jbase_path=/ -Jramp_period=3000 -Jreport_save_path=./ -Jguest_checkout_percent=4 -Jview_catalog_percent=62 -Jview_product_add_to_cart_percent=10 -Jorders=2000 -Jadmin_path=admin_41207x -Jadmin_user=admin -Jadmin_password=admin123 -Jloops=10
Creating summariser
Created the tree successfully using bench.jmx
Starting the test @ Mon Feb 15 09:52:54 ART 2016 (1455540774295)
Waiting for possible shutdown message on port 4445
summary + 4 in 6s = 0.7/s Avg: 1457 Min: 8 Max: 3027 Err: 0 (0.00%) Active: 1 Started: 1 Finished: 0
summary + 3 in 8.3s = 0.4/s Avg: 2698 Min: 2205 Max: 2983 Err: 1 (33.33%) Active: 0 Started: 0 Finished: 0
summary = 7 in 14.2s = 0.5/s Avg: 1989 Min: 8 Max: 3027 Err: 1 (14.29%)
Tidying up ... @ Mon Feb 15 09:53:08 ART 2016 (1455540788693)
... end of run
... View more
Feature request from Yonn-Trimoreau, posted on GitHub Feb 17, 2016
When I observe page_block_html_topmenu_gethtml_before event, just like Magento\Catalog\ObserverAddCatalogToTopmenuItemsObserver does, and add some items to the top.menu , I can't order the items I add (whether it should be displayed before or after category listing, for example).
I think it should be possible, since the "top menu" must be one of the first and most modified element on any website.
Maybe by adding a special \Magento\Framework\DataObject attribute "order" which will be used inside or before Magento\Theme\Block\Html 's _getHtml method, in a way to reorder the \Magento\Framework\Data\Tree\Node before rendering it ?
Or even clearer : adding a $_position property to the Node class, and a non-mandatory variable to the Node class constructor, which could be used in a similar way I expressed before ?
Simple, non-breaking, no performance issue, really useful. Right ?
I can try to make a pull request if you accept this issue.
... View more
Feature request from mikebranderhorst, posted on GitHub Feb 22, 2016
In .gitignore:
/vendor
!/vendor/.htaccess
Should be:
/vendor/*
!/vendor/.htaccess
This way /vendor/.htaccess is added to (private) repository (and with deployment the folder is created).
Maybe also add the third line (to make adding commercial packages possible by artifact)
https://getcomposer.org/doc/05-repositories.md#artifact
/vendor/*
!/vendor/.htaccess
!/vendor/artifacts/.htaccess
# uncomment when using a private repository and want to
# add artifact (commercial) packages to the repository
#!/vendor/artifacts/
Combined with an addition in composer.json
(composer config repositories.artifacts artifact vendor/artifacts)
"repositories": {
"artifacts": {
"type": "artifact",
"url": "vendor/artifacts"
}
},
And to keep the folder adding the file /vendor/artifacts/.htaccess
... View more
Feature request from damien-synolia, posted on GitHub Feb 24, 2016
Hello all,
I just launched the standard PHPUnit test (without the dev:tests:run command) :
php <magentodir>/vendor/phpunit/phpunit/phpunit --debug
I am in <magentodir>/dev/tests/unit directory.
There is a fatal error on Magento\DownloadableImportExport\Model\Import\Product\Type\Downloadable file. On function fillDataLink , there is a fillExistOptions call where $existingOptions is null. It should be an array. It's the same in fillDataTitleLink method.
I just add an ugly fix with a is_null check for $existingOptions and set it to an empty array and it works.
I think the best way should be to change the fetchAll method to always return an empty array, if no data is retrieved in database.
Is there something I did wrong ?
Damien.
... View more