Feature request from colinmollenhour, posted on GitHub Aug 19, 2014
MySQL decimal storage uses a minimum of 4 byes and can store 9 digits in these 4 bytes. Going up to 6 bytes you can store 13 digits.
In most cases decimal(9,3) is sufficient and it would save 2 bytes per row/column. The maximum value would be 999,999.999 (1 million) instead of 99,999,999.9999 (100 million). Unless you are selling original artwork in Iranian Rial this should be sufficient. Also according to the ISO list of currencies there are no currencies which use 4 decimal places (but plenty that use 3, so 2 is not acceptable).
For aggregation tables the better storage type would be decimal (13,3) since still 4 decimals are not needed and 13 takes the same storage space as 12. So for the same storage you can store numbers 100 times larger.
It may seem like a minor optimization but in Magento 1 my sales_ tables currently have over 500 decimal(12,4) columns (some are third-party). 2 bytes 500 columns * 1 million rows is almost 1GB of storage, not to mention the indexed columns. Not huge, but quite significant.
While you're at it, the report_event_types.event_type_id and report_event.event_type_id and report_event.subtype should be tinyint instead of smallint. Maybe these were removed or already changed in M2.. There are probably other columns that could be optimized as well. I think there is even a strong case to be made for changing store_id to "tinyint unsigned" throughout since operating over 256 stores is an edge case.
I realize the DBMS abstraction may be an impediment to this change but considering only MySQL is actually supported I think that is far less important than a database that isn't wasteful of resources.
Lastly, for anyone who is an edge case and decimal(9,3) is not sufficient it should be quite easy to install Magento, dump the database, use sed or a text editor to do a simple replacement and then re-import.
... View more
Feature request from fooman, posted on GitHub Jan 02, 2015
It would be great if all the xml schemas (referenced via xsi:noNamespaceSchemaLocation) could be hosted online and versioned. Until developer RC this could be named draft.
... View more
Feature request from RMcLeod79, posted on GitHub Mar 31, 2015
Whilst the Magento documentation for Coding Standards state that PSR-2 should be used, there are multiple instances of protected properties being prefixed with an underscore
i.e protected $_someProperty This does not conform to the PSR-2 Standard.
As the docs state that PSR-2 is used instances of $_ should be removed.
... View more
Feature request from HirokazuNishi, posted on GitHub May 06, 2015
Magento1.x has serious issues of discarding decimals for some currencies (e.g. JPY, KRW, VND...).
These currencies don't use under decimal numbers for currency.
If merchants that hope to use these currencies, they have to use 3rd party extensions.
Is it possible to add some configurations for handling under decimal numbers of currency?
... View more
When we were on Magento 1, we used a Crius Dropshipping module (no longer around) which created a purchase order with the customer info for each vendor who had a product in the order. The POs were generated at the same time as the order confirmation and they were sent to a designated email address for each vendor (I had them sent to me and I forwarded them to the vendor). The module utilized transactional email templates that I set up for each vendor. It was pretty basic, but the email PO is all I really needed since I don't manage inventory. It seems like this would be a fairly easy feature to add from a development standpoint since it mimics much of the order confirmation functionality.
... View more
See more ideas labeled with:
Feature request from dbsdsun, posted on GitHub May 18, 2015
Problem:
One block may template files. The Module Name is used to determine the template file location.
MoudleB_BlockB can extend ModuleA_BlockA by specification in di.xml as following:
In this case, the MoudleB_BlockB should use ModuleA as its module name, rather than MoudleB.
Solution:
Set target module name when generating a block as follwing. And this is last chance to set target module name.
in file lib/internal/Magento/Framework/View/Layout/Generator/Block.php, after line 157, add one line
line155. $block = $this->createBlock($className, $elementName, [
line156. 'data' => $this->evaluateArguments($data['arguments'])
line157. ]);
new line. $block->setModuleName($block->extractModuleName($className));
line158. if (!empty($attributes['template'])) {
line159. $block->setTemplate($attributes['template']);
line160. }
... View more
Feature request from SKovbel, posted on GitHub Jun 07, 2015
Small question, could you add column 'Attribute Id' to grid "Product Attributes" in backend?
Column very useful for production site, its support and developing
when you want to sort attributes by last created or separate by new and system, sync,.
Alphabetic sorting by code not the same.
Sometimes also lacks Attribute Set Id from "Product Templates" :)
... View more
Feature request from 5mehulhelp5, posted on GitHub Jun 13, 2015
Hello i hope you are fine but i have some problem in table rate
is there any why where table rate shipping will apply on taxed subtotal (tax including subtotal).
so can we make some admin interface where user choose like apply tax on tax included or tax excluded subtotal.
Thanks Please let me know if you need some more info.
... View more
Feature request from nevvermind, posted on GitHub Jun 18, 2015
As Composer packages get used more and more, if not careful, some of their extra configuration may clash at some point in the future.
Not only that, but having an en-gross extra object, it won't be easy to figure out which config belongs to what package.
It would be great if Magento 2 would spearhead good practice (in my opinion at least) and use namespaced configs. We already have the best candidate for this: the package vendor + name combo - magento/magento2ce :
"extra": {
"magento": {
"magento2ce": {
"component_paths": {
"package-specific": "stuff"
}
}
}
}
If not good practice, at least M2 will shield itself from possible conflicts with other package configs.
This seems like a small change anyway. But with lots of benefits from where I'm standing.
... View more
Feature request from johngrogg, posted on GitHub Jul 22, 2015
It would be super useful to have the Categories assigned to a product be added to the returned data (similar to how extension_attributes are available). Even better if you could filter based on them as well via searchCriteria .
... View more
Feature request from danslo, posted on GitHub Aug 15, 2015
There are things like Magento\Customer\Block\Adminhtml\Edit\BackButton which don't contain any customer specific functionality, preferably they should be moved to a more generic place ( Magento\Framework\View or Magento\Ui ?) so other modules can make use of them without having dependency on Magento_Customer .
... View more
Feature request from mage2pro, posted on GitHub Sep 30, 2015
The issue is similar to (but not the same as) https://github.com/magento/magento2/issues/1909 and https://github.com/magento/magento2/issues/1980
My fix with plugins: https://mage2.pro/t/96
Surely the possibility to translate product attributes should be in the core.
... View more
Feature request from licentia, posted on GitHub Oct 15, 2015
Magento should save the fee charged by Paypal for the transaction. This is very useful when trying to calculate Customer Equity & LTV. We have precise values and not approximate ones.
Check this doc: https://developer.paypal.com/docs/classic/api/merchant/GetTransactionDetails_API_Operation_NVP/ and the FEEAMT field.
FEEAMT should be added to the
protected $_getTransactionDetailsResponse
in
Magento\Paypal\Model\Api\Nvp
And stored in the
sales_order_payment table
... View more
Feature request from mage2pro, posted on GitHub Oct 25, 2015
Varien_Object::_construct() :
https://github.com/OpenMage/magento-mirror/blob/1.9.2.1/lib/Varien/Object.php#L154-L156
I see it is already restored (by duplication) in the base model, base block, base form and so on:
\Magento\Framework\Model\AbstractModel::_construct() :
https://github.com/magento/magento2/blob/02e0378c33054acb0cdb8d731d1e2b2c2069bc1b/lib/internal/Magento/Framework/Model/AbstractModel.php#L201-L203
\Magento\Framework\View\Element\AbstractBlock::_construct()
https://github.com/magento/magento2/blob/02e0378c33054acb0cdb8d731d1e2b2c2069bc1b/lib/internal/Magento/Framework/View/Element/AbstractBlock.php#L223-L228
\Magento\Framework\Data\Form\AbstractForm::_construct()
https://github.com/magento/magento2/blob/02e0378c33054acb0cdb8d731d1e2b2c2069bc1b/lib/internal/Magento/Framework/Data/Form/AbstractForm.php#L71-L73
Why does it absent in \Magento\Framework\DataObject ?
... View more
Feature request from mage2pro, posted on GitHub Oct 27, 2015
There is an internal field \Magento/Framework/View/Layout/Builder::$isBuilt
https://github.com/magento/magento2/blob/ffa02d82c6344c76ea6de8b50d9612b3200ea2c7/lib/internal/Magento/Framework/View/Layout/Builder.php#L61
Need a public method.
There is an event layout_generate_blocks_after :
https://github.com/magento/magento2/blob/ffa02d82c6344c76ea6de8b50d9612b3200ea2c7/lib/internal/Magento/Framework/View/Layout/Builder.php#L133
But it is inconvenient to listen for the event while an extension just need to get the current layout state: built or not.
... View more
Feature request from mage2pro, posted on GitHub Nov 02, 2015
The problem line is
https://github.com/magento/magento2/blob/f578e54e093c31378ca981cfe336f7e651194585/app/code/Magento/Cms/Controller/Adminhtml/Page/Save.php#L62
I propose to change it to
if (!$this->dataProcessor->validate($model->getData())) {
My detailed explanation: https://mage2.pro/t/159
... View more
Feature request from mage2pro, posted on GitHub Nov 02, 2015
An event on a backend CMS page form creation:
https://github.com/magento/magento2/blob/f578e54e093c31378ca981cfe336f7e651194585/app/code/Magento/Cms/Block/Adminhtml/Page/Edit/Tab/Content.php#L99
No any event on a backend CMS block form creation:
https://github.com/magento/magento2/blob/c743dec47b2e5de036eb5638fec44a54bfb31040/app/code/Magento/Cms/Block/Adminhtml/Block/Edit/Form.php#L61-L158
... View more
Feature request from mage2pro, posted on GitHub Nov 02, 2015
Similar to https://github.com/magento/magento2/issues/2248
The «cms_page_prepare_save» event firing :
https://github.com/magento/magento2/blob/f578e54e093c31378ca981cfe336f7e651194585/app/code/Magento/Cms/Controller/Adminhtml/Page/Save.php#L57-L60
There is no similar event for block:
https://github.com/magento/magento2/blob/f578e54e093c31378ca981cfe336f7e651194585/app/code/Magento/Cms/Controller/Adminhtml/Block/Save.php#L16-L59
... View more
Feature request from mage2pro, posted on GitHub Nov 04, 2015
Similar to https://github.com/magento/magento2/issues/2248 and https://github.com/magento/magento2/issues/2249.
The «controller_action_catalog_product_save_entity_after» event firing :
https://github.com/magento/magento2/blob/16dc76df41fac703b322cc0f9ab3dba43742bbed/app/code/Magento/Catalog/Controller/Adminhtml/Product/Save.php#L105-L108
There is no similar event for a category:
https://github.com/magento/magento2/blob/16dc76df41fac703b322cc0f9ab3dba43742bbed/app/code/Magento/Catalog/Controller/Adminhtml/Category/Save.php#L73-L212
... View more