Currently when an admin session times out and you have to relog you find yourself in the dashboard no matter what you were doing before. In my opinion the user should be redirected back to the page that he was viewing. Most other CMSs and Ecommerce Solutions do this.
... View more
See more ideas labeled with:
Status:
Investigating
Submitted on
08-30-2016
12:33 PM
Submitted by
apiuser
on
08-30-2016
12:33 PM
Feature request from aoldoni, posted on GitHub Jun 17, 2015
Hi All,
This is to discuss the scenario where cron tasks still run in Magento, even in maintenance mode.
As per the installation guidelines, you should always activate the Magento cron in the crontab ( http://devdocs.magento.com/guides/v1.0/config-guide/cli/config-cli-subcommands-cron.html ). This means adding the /bin/magento cron:run command to the crontab.
Suppose a situation where you are with Magento under maintenance mode for, let's say, 30 minutes with the intention to run a MySQL backup or run some heavy database data synchronisation script. After looking at the code, I noticed that the following entry points will fail to run as we are in maintenance mode (which is a good thing):
index.php
cron.php (public web entry point).
get.php
static.php
...also API connections would fail as they all go through the \Magento\Framework\App\Bootstrap::run() and the \Magento\Framework\App\Bootstrap::assertMaintenance() methods.
However, ./bin/magento cron:run would still run, as the cli cron entry point doesn't check for maintenance mode. Please note the following steps:
vagrant@mage2:/vagrant/data/magento2$ ./bin/magento maintenance:enable
Enabled maintenance mode
vagrant@mage2:/vagrant/data/magento2$ ./bin/magento cron:run
Ran jobs by schedule.
This means that, even in maintenance mode, the crontab could still be firing database operations, and, depending on the Magento cronjob scheduled to be executed (or new custom cronjobs that were created), it could potentially trigger other heavy database operations to run in parallel with the database maintenance operations already being executed.
So, if you really need to stop all operations in your application for a brief period of time (a maintenance window), you would (a) not only put Magento in maintenance mode, but would also need to (b) deactivate the cron.
My conclusion based on the above is that it would make sense for at least the ./bin/magento cron:run command to check for the maintenance flag as well. This would be safer, and possibly assure that during maintenance mode there's nothing happening in the application.
Can you guys please point out if you share this opinion?
Thanks.
... View more
Status:
Investigating
Submitted on
08-30-2016
12:30 PM
Submitted by
apiuser
on
08-30-2016
12:30 PM
Feature request from Vinai, posted on GitHub Apr 21, 2016
Steps to reproduce
Create a class with a dependency on \Magento\Quote\Api\Data\CartInterface
Add a product to the cart
Execute the code within the same session
Expected result
The CartInterface instance represents the current quote
\Magento\Quote\Api\Data\CartInterface::getItems returns the items in the cart
Actual result
The injected CartInterface instance is empty.
To retrieve the current quote items \Magento\Checkout\Model\Session::getQuote() has to be used.
This is problematic since neither \Magento\Checkout\Model\Session nor \Magento\Quote\Model\Quote are blessed with the @api interface.
The alternative would be to use \Magento\Quote\Model\GuestCart\GuestCartRepository::get() or \Magento\Quote\Api\CartManagementInterface::getCartForCustomer , but for guests that would require having the masked cart id.
It is quite common for customizations to require access to the current cart contents. It would be nice if that could be handled with a simple dependency on CartInterface .
... View more
Status:
Investigating
Submitted on
08-30-2016
12:29 PM
Submitted by
apiuser
on
08-30-2016
12:29 PM
Feature request from leoquijano, posted on GitHub May 24, 2016
Hi,
I've been debugging some checkout issues. I noticed that several of them were fixed in Magento 2.0.7, so I went in to test our payment process using that version.
As I tested my integration with Autorize.NET DPM gateway, my checkout page froze in the "loading" stage. The order was successfully received and Authorize.NET debug log showed the information. However, something was happening after the response came back.
Sometimes I would get a window saying "Cannot place order". Sometimes it would just get stuck. However, at no point I would get more detailed information, as a developer, to what's going on.
I traced down the issue to the vendor/magento/module-authorizenet/Controller/Directpost/Payment/Place.php file (I'm using a Composer based install). The following method would be executed:
protected function placeCheckoutOrder()
{
$result = new DataObject();
$response = $this->getResponse();
try {
$this->cartManagement->placeOrder($this->_getCheckout()->getQuote()->getId());
$result->setData('success', true);
$this->eventManager->dispatch(
'checkout_directpost_placeOrder',
[
'result' => $result,
'action' => $this
]
);
} catch (\Exception $exception) {
$result->setData('error', true);
$result->setData('error_messages', __('Cannot place order.'));
}
if ($response instanceof Http) {
$response->representJson($this->jsonHelper->jsonEncode($result));
}
}
Since I got the error message 'Cannot place order' a couple of times, I entered some logging statements, and got this in my log:
2016-05-24T23:08:42+00:00 INFO (6): Error placing order: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '000000010-1' for key 'SALES_ORDER_INCREMENT_ID_STORE_ID', query was: INSERT INTO `sales_order` (`state`, `status`, `protect_code`, `shipping_description`, `is_virtual`, `store_id`, `customer_id`, `base_discount_amount`, `base_grand_total`, `base_shipping_amount`, `base_shipping_tax_amount`, `base_subtotal`, `base_tax_amount`, `base_to_global_rate`, `base_to_order_rate`, `discount_amount`, `grand_total`, `shipping_amount`, `shipping_tax_amount`, `store_to_base_rate`, `store_to_order_rate`, `subtotal`, `tax_amount`, `total_qty_ordered`, `customer_is_guest`, `customer_note_notify`, `customer_group_id`, `quote_id`, `base_shipping_discount_amount`, `base_total_due`, `shipping_discount_amount`, `subtotal_incl_tax`, `total_due`, `weight`, `increment_id`, `base_currency_code`, `customer_email`, `customer_firstname`, `customer_lastname`, `customer_middlename`, `global_currency_code`, `order_currency_code`, `remote_ip`, `shipping_method`, `store_currency_code`, `store_name`, `total_item_count`, `discount_tax_compensation_amount`, `base_discount_tax_compensation_amount`, `shipping_discount_tax_compensation_amount`, `base_shipping_discount_tax_compensation_amnt`, `discount_tax_compensation_invoiced`, `base_discount_tax_compensation_invoiced`, `discount_tax_compensation_refunded`, `base_discount_tax_compensation_refunded`, `shipping_incl_tax`, `base_shipping_incl_tax`, `gift_message_id`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
So it is clearly an inconsistent database state. I deleted the contents from the sales_order table and the checkout now works fine.
However, it would be a good idea to provide feedback for developers when an order placement fails. Something like this:
protected function placeCheckoutOrder()
{
$result = new DataObject();
$response = $this->getResponse();
try {
$this->cartManagement->placeOrder($this->_getCheckout()->getQuote()->getId());
$result->setData('success', true);
$this->eventManager->dispatch(
'checkout_directpost_placeOrder',
[
'result' => $result,
'action' => $this
]
);
} catch (\Exception $exception) {
$this->_logger->info("Error placing order: ".$exception->getMessage());
$result->setData('error', true);
$result->setData('error_messages', __('Cannot place order.'));
}
if ($response instanceof Http) {
$response->representJson($this->jsonHelper->jsonEncode($result));
}
}
... where $this->_logger is an appropriately configured logger (via DI). This would provide something to the developer to work with, and prevent exception swallowing.
... View more
Status:
Investigating
Submitted on
08-30-2016
12:01 PM
Submitted by
apiuser
on
08-30-2016
12:01 PM
Feature request from AurelienLavorel, posted on GitHub Feb 07, 2016
Hello,
In v1 of Magento it was easy to disable compare functionality but now it take lot of time, can you add a yes/no configuration for that please ?
Regards,
Aurelien
... View more
Status:
Investigating
Submitted on
08-30-2016
12:01 PM
Submitted by
apiuser
on
08-30-2016
12:01 PM
Feature request from ipragmatechadmin, posted on GitHub Mar 10, 2016
We are trying to build the generic android mobile app which can be used by magento 2 owners using REST API for Magento2 and have implemented the basic features for the app. As most of the people uses paypal for the payment gateway, we planned to use the paypal Android SDK for our mobile app but the problem is that we are not able to find the REST API to submit the transactionId or PaymentId to magento2. Do we need to write our own API for this or is there any existing rest API which we can use and submit the transactionId to magento2 store? Please help us.
... View more
Feature request from Vinai, posted on GitHub Jun 17, 2015
When constructing arrays using DI (or also in layout XML) with the array type, it seems to be impossible to influence the order or the elements except via module load sequence.
However, it currently is not possible to have one module to add itself to the sequence of another module, which limits this option severely.
As I'm sure you are aware, the sort order of the array elements can be quite important.
In some instances, for example the RouterList , this problem is overcome by making each router in the list a sub-array with the possibility to add a sortOrder . This works fine, but if the injected array is one dimensional it isn't an option. It forces the structure onto the client receiving the array.
In other cases the injected list is simply an array of objects or strings, without the chance to influence the sort order.
One example is the composite phrase renderer. It isn't possible to add a renderer before the placeholder renderer.
It would be quite useful to be able to add an optional sortOrder attribute to the item node, which - if present - is used to sort the resulting array argument.
Maybe a before/after attribute (like in layout XML) would be more appropriate, but I'm sure opinions on this will vary. Personally I don't care, I would simply like to have an option to influence the sort order of dependency injected arrays built with in di.xml, without resorting to changing the module load sequence.
... View more
Feature request from micmeister59, posted on GitHub Oct 19, 2015
With Magento 1, it's hard to rename the session cookie name ("frontend" and "adminhtml"). It's a constant in controller without the possibility to change names. It would be nice to change that in backoffice.
... View more
Official Magento 2 documentation do list how to enable redis caching for page and session caching but there's no equivalent command line to revert back to non-redis defaults it seems https://community.magento.com/t5/Admin-Configuration-Questions/Disabling-Redis-cache-from-command-line/m-p/89599 Would be nice if there were added command line options to disable redis caching and revert to default out of box configurations instead of having to modifying env.php. Official docs http://devdocs.magento.com/guides/v2.2/config-guide/redis/redis-pg-cache.html http://devdocs.magento.com/guides/v2.2/config-
... View more
Currently Special Prices on Configurable Products show only after a customer clicks on a color/size. Special pricing is not displayed on Grids or Product Pages until after options are chosen (strikethrough regular price next to new price). Only the regular price shows until after the options are chosen. Magento Support confirms that this is default behavior. I would like for my site to function in this regard like all other M2 sites that have products on sale (sale price is shown on product grids and on product pages - without first choosing attributes). I literally can not find one M2 site that does not show sale prices on the grids or the product pages (before options are chosen). M2 sites like Le Creuset demonstrate the logical behavior I'm describing: https://www.lecreuset.com/special s If this is functionality that all Magento 2 customers are having to pay developers to fix/customize, I would suggest that it is something that Magento should add to its core functionality.
... View more
Feature request from DREC69, posted on GitHub Jan 04, 2018
An issue raised a while back, finally resolved in Sept '17 has now been made redundant.
The issue was meta descriptions allow 255 characters, and this should be truncated since search engines didn't allow so many.
As of Nov '17, Google will report meta descriptions over 300 characters.
So Magento's now cutting short this useful form of CTA for its clients.
Having had it reduced, can we see it enlarged?!
... View more
To plan out changes ahead of time on site, specifically on the home page, we use scheduled changes. An issue we have come across is that there is no way to preview these scheduled changes in mobile view. A large portion of people using the mobile view not having that ability is a hindrance. While we can make these changes on Staging, and push them live to view and test, we want to be able to completely ensure that the changes made on the Production site are perfect before going Live with the changes. If we inspect the preview page and set the dimensions to mobile view, it does not reflect what will happen once the page is live. It just smooshes up the desktop version of the page and adds no responsiveness.
... View more
See more ideas labeled with:
It is not possible to increase the disk space of the build container permanently. This is required once you have more than 20 locales to be built while static content generation while the cloud deployment process, and on transfer step you will face errors like these: gzip: /app/pub/static/adminhtml/vendor/backend/fr_CH/jquery/ui-modules/resizable.js.gz: No space left on device
... This is caused due to the too low size of the build container (8Gb). The temporary solution from Magento Cloud engineers was to adjust cloud configs (cloud support has access there only) for increasing space from 8Gb to 16Gb. However, quote: this will likely be downgraded back to 8GB at some point. , because these configs are placed under a version control system and these changes are just left there as modifications. So can be rest to default state once the new version of configs/codebase of cloud configs will come in. Please add the possibility to change the build container disk space permanently. Thank you.
... View more
See more ideas labeled with:
HTTPS has become quite the standard for the delivery of most content. Without delivering content through HTTPS users will experience "mixed content" browser errors and have content no be loaded correctly because its being blocked by modern web browsers. With that said; isn't it time for the Magento platform to come up with a cache system implementation that supports HTTPS and is recommended for us (Full Page Cache is "not recommended" per Magento documentation)? Having to need two web servers (Apache + NGINX as a reverse proxy) and configure them to work with an HTTP-only cache system of Varnish is quite complicated and seems to me is overdue for an overhaul / new solution.
... View more
See more ideas labeled with:
Status:
Investigating
Submitted on
08-30-2016
01:12 PM
Submitted by
apiuser
on
08-30-2016
01:12 PM
Feature request from airbone42, posted on GitHub Feb 09, 2015
Currently it's only possible to have one role per admin user, which is quite difficult to handle if you have multiple users which have overlapping roles.
E.g. we have usually Editors and Sales people. So we need two roles. Besides that we also have people who're allowed to do both, so we already have to maintain three roles which have a very big overlap in the ressources. We always have to update all the roles if something in the ressources changes. This problem gets even bigger if you have three or four normal roles which have to be mixed up.
Also the ressources which everyone should have, like the section to change the own password has to be added to every role individually instead of just having a "my account" role which you have to maintain only once and add it to every user.
... View more
Our payment partner - Adyen offers a feature to see which browser a customer used to make a purchase, so long as the order was made using their Card services. For other standalone payment methods such as Amazon Pay and PayPal; I would like to suggest an information box within the order history for the admins benefit only, so that we may track which Browser a person used to complete an order and monitor whether a certain browser and/or version is causing errors or failing to track conversions within Bing or Google. The idea came from the information found in our Adyen control panel.
... View more
Status:
Investigating
Submitted on
08-30-2016
12:03 PM
Submitted by
apiuser
on
08-30-2016
12:03 PM
Feature request from intedyne, posted on GitHub Aug 28, 2014
It would be very helpful to add the ability of having configurable products as part of bundles and/or grouped products.
Use case: outfit builder. You have shirt, pants, and shoes. Each item has color and size. You want to sell the whole outfit, and allow customers to customize individual components.
Thank you.
... View more
Feature request from MrSena, posted on GitHub Jul 21, 2016
Hi! I am develop integration with ERP. But have many problem with import large product catalog to Magento (2.1 from composer metapackage.)
REST API Product create very slow - import one thousand products more 15 min.
(post request to /rest/V1/products).
Internal csv import work fast, but I can't start him remote. Also this way, there is no way to create the attributes and attribute_sets.
Solve the problem with the speed REST API, please
... View more
Feature request from Khaleel, posted on GitHub Aug 12, 2016
Hi
Where do I begin to vent my frustrations with this platform? Firstly I will bring to your attention this Stackoverflow bounty which no one from the Magento Community gave an answer for that I a hoping will garner here: http://stackoverflow.com/questions/38589283/a-faster-route-to-deploying-static-content-in-magento-2-dev-to-live-etc?noredirect=1#comment65177020_38589283
Why is it that the Magento Team thought it was acceptable to turn a live website into Maintenance mode to carry out a deployment? Our company makes serious money and it is just - absurd - to consider ever placing our site in downtime (at any time or day).
We literally ship our code to git and then pull on the live server and then deploy static content and this takes an incredible amount of time. Just this week, our developers made a few mistakes and we had to re-deploy twice. 45 mins of no sales. Clearly this is not a solution. There must be something were not doing correctly; but your own documentation, recommends it.
@alankent who says 'I am not a frontend dev' Clearly not. Otherwise you would have chosen Sass and dropped the insane idea of Magento UI, which no one really knows what it is. And then further you would have scrapped RequireJS and all the insane (not SEO friendly) KnockoutJS bloat even on the cart. Please can you answer regarding this. It is been raised across the web on many threads on Stackoverflow which my bounty failed and even on this post: https://github.com/magento/magento2/issues/2104 other devs see the insane feature of this.
Why is it sooooo slow to make changes to Less and JS even in a developer mode node. You have to recompile files (no Livereload; which I get people not a fan of) but seriously? Make a padding or margin change; delete all var folders, re compile static files for all languages and then run grunt to generate less etc - seriously? ALL our Front End Engineers are strong with JavaScript and CSS and most are (including me) previously Back End Developers. It is insane.
Please can this be addressed? Gulp and Grunt is one argument but the process of static deploy on development mode is one thing - a live environment? Seriously?
... View more
Feature request from sonumartolia, posted on GitHub Nov 01, 2015
Can Magento have one more out of the box feature for creating a virtual product for booking, reservation or rentals service ?
... View more