Git Product home page Git Product logo

magento-devmode's People

Contributors

screamingdev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

magento-devmode's Issues

List all observers

Situation

  • Events have observer
  • Each extension has it's own

Problem

  • No one knows exactly which event has what observer

Solution

Feasibility

  • Find out if observer are listed somewhere
  • If not try to parse every XML

Shell-Script

  • Make shell script
  • UnitTest output of shell script (if own observer are listed and list not null)

Backend

  • swap list to a model
  • Choose/Add tab for displaying information
  • Make template/table for list
  • Test existance of tab
  • Test if table exists in tab
  • Test if table is not empty
  • Test if table contains own observer

Sanitize Product Images

Situation

  • Products can have images

Problem

  • After some imports the images are gone

Solution

INSERT INTO catalog_product_entity_media_gallery (attribute_id, entity_id, `value`)
  SELECT ga.attribute_id, v.entity_id, v.value
  FROM catalog_product_entity_varchar v
  INNER JOIN eav_entity_type et ON et.entity_type_code='catalog_product'
  INNER JOIN eav_attribute va ON va.entity_type_id=et.entity_type_id AND va.frontend_input='media_image' AND va.attribute_id=v.attribute_id
  INNER JOIN eav_attribute ga ON va.entity_type_id=et.entity_type_id AND ga.attribute_code='media_gallery'
  LEFT JOIN catalog_product_entity_media_gallery g ON g.entity_id=v.entity_id AND g.value=v.value
  WHERE v.value<>'no_selection' AND v.value<>'' AND g.value IS NULL

Change core variable by URL

Situation

  • Magento has core configs like "dev_translate_inline_active"

Problem

  • You need to go to backend or other places to change them

Solution

  • Parse URL for such variables and set them
  • But make it depend on a configurable whitelist

Example

foo.html?__dev_translate_inline_active=1

Uninstall link in omnipresent warning

Situation

  • There is a warning below the menu

Problem

  • Not everyone knows how to unsinstall

Solution

  • Show the link to uninstall or unsinstall location within the warning.

Show errors of Core_Model_Email_Template::isValidForSend()

Situation

  • Preview in browser

Problem

  • Preview does not show any errors
  • It is not ensured that the mail will look like this in the mail client (as in the browser)

Solution

  • Add info box or something with message from "isValidForSend()"

Autologin as admin user from local

Situation

  • /admin needs validation
  • admin needs to login

Problem

  • you have to do that zillion times a day

Solution

  • allow every 127.0.0.1 to login
  • write a test for that

Show translations via URL ?__translations

Situation

  • Magento has it's own translation helper if the according XML-Path is set to 1

Problem

  • It needs to be enabled in a long way
  • It does not show where the translation comes from

Solution

  • Translations show up with URL ?__translations
  • Translations will show where their source is (csv/db/...)

Show all cron jobs

Situation

Config can have cron jobs.

Problem

Nowhere is a list of all

Solution

Make a list of all.

Write correct unit test for LeMike_DevMode_Model_Core_Email_Template::send

Situation

  • LeMike_DevMode uses EcomDev_PHPUnit
  • core/email_template is overriden by LeMike_DevMode_Model_Core_Email_Template
  • A newsletter confirmation uses core/email_template
  • Sending a mail halts magento and echo the generated mail directly (without using Mage::app()->getResponse())
  • If this issue is assigned to someone than do not work on it
  • v0.3.0 has this problem

Problem

  • There is no unit (e.g. testRegisterNewsletter_EmailDisabled) test for such situation

Solution

  • Create LeMike_DevMode_Test_Model_Core_Email_TemplateTest::testRegisterNewsletter_EmailDisabled() (maybe the class is extending EcomDev_PHPUnit_Test_Case_Controller)
  • Make a fixture with the option lemike_devmode_core/email/active disabled (0)
  • Test/Assert that fixture
  • Mock the Mail-Template so that it only outputs a unique string (in the usual way with $foo->getMock() etc.)
  • Test/Assert that mock / mocking the according method
  • Dispatch newsletter/subscriber/new with the post ['email' => 'lemike_devmode']
  • Test if / Assert that the dispatch was successful
  • Fetch the output
  • Test against / Assert the previous defined unique string
  • Append this test (to check if magento output is supressed) $this->assertTrue(Mage::helper('lemike_devmode')->disableMagentoDispatch());

ACP Oberfläche

Menüpunkt im Magento System Konfiguration in der untersten Kategorie

Ensure Code Quality

In Development

  • All issues are gone except this one

In Alpha

  • Code Coverage above 90% on lines (to present a beta)
  • Version has been bumped

In Beta

  • Branches ment to achieve this version are merged and deleted
  • Created a branch (master-v0.0.0) right at start of beta
  • Code coverage max out and at least above 80% on files
  • Code Assertions have no warning
  • phpDoc has no warning
  • All $VERSION$ replaced with current version
  • All ${YEAR} Replaced with current year.
  • All ${PROJECT} Replaced with "php-application-toolkit".
  • All commits are pushed and no (staged) changes are left

In RC

  • Code duplicates are eliminated
  • Changelog has been generated and revised
  • New clone has no warning in UnitTest, phpDoc or code assertions
  • No other branch related to this version is left except release-x.x.x

Final

  • Created a tag for this version

GitHub

Announce in http://github.com/sourcerer-mike/php-application-toolkit/releases

  • Major points of Changelog in sentences
  • Link to Changelog for additional information
  • Support for this version will run out after 90 days of the next update (or 180 for new major version)

Other

Show what is rewritten by what

Situation

  • Every extension has the possibility to rewrite model, controller, etc. via config.xml

Problem

  • With plenty extensions noone realy knows what's overridden.

Solution

  • List what has been overridden and where

Code Quality

In Development

  • All issues are gone except this one

In Alpha

  • Code Coverage above 90% on lines (to present a beta)
  • Version has been bumped

In Beta

  • Branches ment to achieve this version are merged and deleted
  • Created a branch (master-v0.0) right at start of beta
  • Code coverage max out and at least above 80% on files
  • Code Assertions have no warning
  • phpDoc has no warning
  • All $VERSION$ replaced with current version
  • All ${YEAR} Replaced with current year.
  • All ${PROJECT} Replaced with project name.
  • All commits are pushed and no (staged) changes are left

In RC

  • Code duplicates are eliminated
  • Changelog has been generated and revised git log --topo-order --reverse master..HEAD > CHANGELOG.md
  • New clone has no warning in UnitTest, phpDoc or code assertions
  • No other branch related to this version is left except release-x.x.x

Final

  • Created a tag for this version

GitHub

Announce in http://github.com/sourcerer-mike/php-application-toolkit/releases

  • Major points of Changelog in sentences
  • Link to Changelog for additional information
  • Support for this version will run out after 90 days of the next update (or 180 for new major version)

Other

Login as user via email in backend

Situation

Problem

Solution

                        <login_email>
                            <label>Login as user</label>
                            <comment>
                                Choose a email and login as the according customer.
                            </comment>
                            <frontend_type>text</frontend_type>
                            <sort_order>200</sort_order>
                            <show_in_default>1</show_in_default>
                            <show_in_website>1</show_in_website>
                            <show_in_store>1</show_in_store>
                        </login_email>

use restricted ip

use the restricted ip and allow the extension only to react to that.

Link below Mail output in browser to send mail or go to settings

Situation

  • Mails can be fetched and send to browser instead of sending.

Problem

  • Might nag some developer in switching between methods
  • Projects with multiple developer want multiple settings

Solution

  • Add a block to the mail
    • Link to the settings
    • Link to send mail

reinstall extensions

parse core_resource
make menu
able to set version number
reinstall button will save, clean xml cache and reinstall.

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.