Code Monkey home page Code Monkey logo

documentation's People

Contributors

agafandrey avatar aivus avatar alex-kuzmenko avatar alex-n-2k7 avatar alverena avatar anyt avatar dariahanzenko avatar dimasoroka avatar dmitry-puchkov avatar dubrzh avatar dxops avatar econgressional avatar eugenec avatar grygir avatar ibnab avatar ikhrysieva avatar kisakova avatar mbessolov avatar mccar avatar nnenasheva avatar svitlanako avatar tumbochka avatar valeriyyustunyk avatar vsoroka avatar webevt avatar x86demon avatar yoavkutner avatar yshyshkin avatar yurio avatar zgeist 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

Watchers

 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

documentation's Issues

Install Documentation Inconsistencies

Working through our first OroCRM builds, I found the instructions in the Oro Book very comprehensive and useful. However, when comparing the installation instructions in the Book to the README in the application repo, there's a couple of inconsistences which as a new comer to the platform I found confusing.

  1. The README documents that a Clank server for websockets needs to be running https://github.com/orocrm/crm-application/blame/1.10/README.md#L58 but this isn't mentioned in the book. I assume running this process under supervisord or similar is recommended, but some documention around the recommended way to run it, configuration, etc would be great. Information on how to test the websocket server and what breaks if it's not running (OroCRM seems fine without it?) to assist with troubeshooting would also be helpful.

  2. The README mentions that a cron job needs to be scheduled https://github.com/orocrm/crm-application/blame/1.10/README.md#L67 but this isn't described in the book. Seems like an obvious requirement for a modern web app, and I'm sure most people are familiar with cron but mentioning it in the book would be helpful.

There may be other issues around different PHP extensions/versions, etc as well, but these two seem like a couple of major application pieces which were omitted from the book entirely.

Remove manually maintained TOC on top of articles?

I wonder if it is really useful to maintain a table of contents on top of each article. The more articles you, the more headlines you change, it gets even harder to keep the list on top up-to-date as people tend to forget updating them too.

Luckily, when building the documentation, the headlines are automatically transformed into a TOC to the left of an article. Thus, I think it was better to remove those headlines on top of each article.

Entity override/extend

Can some one add some example of how to override and/or extend existing Oro platform entities?

[DOC][CRM REPORT]

On the cookbook, there is this : https://www.orocrm.com/documentation/2.3/cookbook/entities/report#cookbook-entities-report-grid

But it doesn't work, because now, we have to use something like this :

For datagrid :

#vendor/oro/crm/src/Oro/Bundle/ReportCRMBundle/Resources/config/oro/datagrids.yml
 oro_reportcrm-accounts-life_time_value:
        pageTitle: oro.reportcrm.accounts_life_time_value
        acl_resource: oro_report_view
        source:
            type: orm
            query:
                select:
                    - a.id
                    - a.name
                    - SUM( CASE WHEN lifetimeHistory.amount is NULL THEN 0 ELSE lifetimeHistory.amount END ) as value
                from:
                    - { table: OroAccountBundle:Account, alias: a }
                join:
                    left:
                        - { join: OroChannelBundle:LifetimeValueHistory, alias: lifetimeHistory, conditionType: WITH, condition: "lifetimeHistory.account = a and lifetimeHistory.status = true" }
                groupBy:  a.id
        columns:
            name:   { label: oro.reportcrm.datagrid.columns.account_name }
            value:  { label: oro.account.lifetime_value.label,  frontend_type: currency }
        properties:
            id: ~
            view_link:
                type:       url
                route:      oro_account_view
                params:     [ id ]
        actions:
            view:
                type:          navigate
                acl_resource:  oro_account_view
                label:         oro.grid.action.view
                icon:          eye
                link:          view_link
                rowAction:     true
        totals:
            total:
                extends: grand_total
                per_page: true
                hide_if_one_page: true
                columns:
                    name:
                        label: oro.magento.datagrid.columns.page_total

            grand_total:
                columns:
                    name:
                        label: oro.magento.datagrid.columns.grand_total
                    value:
                        expr: SUM( CASE WHEN lifetimeHistory.amount is NULL THEN 0 ELSE lifetimeHistory.amount END )
                        formatter: currency
        sorters:
            columns:
                name:   { data_name: a.name }
                value:  { data_name: value }
        filters:
            columns:
                name:
                    type: string
                    data_name: a.name
                value:
                    type:             currency
                    data_name:        value
                    filter_by_having: true
                    options:
                        data_type:    Oro\Bundle\FilterBundle\Form\Type\Filter\NumberFilterType::DATA_DECIMAL
        options:
            entityHint: report data
            export: true
            entity_pagination: true

For navigation :

#vendor/oro/crm/src/Oro/Bundle/ReportCRMBundle/Resources/config/oro/navigation.yml accounts_by_opportunities:
                label: 'oro.reportcrm.menu.accounts_by_opportunities.label'
                route: 'oro_reportcrm_index'
                route_parameters:
                    reportGroupName: 'accounts'
                    reportName:      'by_opportunities'

So in datagrid, it's miss, the "pageTitile" and in navigation it's we have to replace this

route: orocrm_report_index
            routeParameters:
                reportGroupName: tasks
                reportName: by_priority

by something like this :

           route: 'oro_reportcrm_index'
             route_parameters:
                reportGroupName: tasks
                reportName: by_priority

Wrong relation for workflowStep in documentation

https://www.orocrm.com/documentation/index/current/book/workflow#applying-workflows-to-an-entity

    /**
     * @ORM\OneToOne(targetEntity="Oro\Bundle\WorkflowBundle\Entity\WorkflowStep")
     */
    private $workflowStep

I think OneToOne is wrong, in crm other relation is used:

     * @var WorkflowStep
     *
     * @ORM\ManyToOne(targetEntity="Oro\Bundle\WorkflowBundle\Entity\WorkflowStep")

https://github.com/orocrm/crm/blob/693f6fb8306c07a4914996bb659457246f997ef5/src/OroCRM/Bundle/SalesBundle/Entity/SalesFunnel.php

Unit/Functional Testing documentation

I'm really struggling with the test related documentation (https://www.orocrm.com/documentation/1.10/book/functional-tests). We're using OroCRM 1.10, hence I'm referring to that documentation, but the 2.0 docs for this topic look basically the same, so I'm assuming the problems I'm having haven't been addressed there.

Behat is installed via composer, but the docs do not mention Behat, instead focussing exclusively on phpUnit. Which testing tool is actually used, Behat or phpUnit?

Assuming the docs are correct, and I should be using phpUnit, how do I install it? The linked Symfony documentation says that installation from PHAR is preferred, but then when I try to run the PHAR installed phpUnit (5.7 - The last one with PHP 5.x support), I get...

$ phpunit src/Spendless/
Class "JohnKary\PHPUnit\Listener\SpeedTrapListener" does not exist

This class is defined as a listener in the phpunit.xml.dist that ships with OroCRM, but obviously not bundled in the PHAR, not is it referenced in the composer.json that comes with OroCRM.

If I attempt to install phpUnit via composer, I get a dependency issue caused by the existing OroCRM dependencies...

$ ../utils/composer require --dev phpunit/phpunit 5.7.*
./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
    - Conclusion: don't install phpunit/phpunit 5.7.19
    - Conclusion: don't install phpunit/phpunit 5.7.18
    - Conclusion: don't install phpunit/phpunit 5.7.17
    - Conclusion: don't install phpunit/phpunit 5.7.16
    - Conclusion: don't install phpunit/phpunit 5.7.15
    - Conclusion: don't install phpunit/phpunit 5.7.14
    - Conclusion: don't install phpunit/phpunit 5.7.13
    - Conclusion: don't install phpunit/phpunit 5.7.12
    - Conclusion: don't install phpunit/phpunit 5.7.11
    - Conclusion: don't install phpunit/phpunit 5.7.10
    - Conclusion: don't install phpunit/phpunit 5.7.9
    - Conclusion: don't install phpunit/phpunit 5.7.8
    - Conclusion: don't install phpunit/phpunit 5.7.7
    - Conclusion: don't install phpunit/phpunit 5.7.6
    - Conclusion: don't install phpunit/phpunit 5.7.5
    - Conclusion: don't install phpunit/phpunit 5.7.4
    - Conclusion: don't install phpunit/phpunit 5.7.3
    - Conclusion: don't install phpunit/phpunit 5.7.2
    - Conclusion: don't install phpunit/phpunit 5.7.1
    - Conclusion: don't install phpunit/phpunit 5.7.0
    - Conclusion: remove sebastian/comparator 1.2.2
    - Installation request for sebastian/exporter (locked at 1.2.2) -> satisfiable by sebastian/exporter[1.2.2].
    - Installation request for phpunit/phpunit 5.7.* -> satisfiable by phpunit/phpunit[5.7.0, 5.7.1, 5.7.10, 5.7.11, 5.7.12, 5.7.13, 5.7.14, 5.7.15, 5.7.16, 5.7.17, 5.7.18, 5.7.19, 5.7.2, 5.7.3, 5.7.4, 5.7.5, 5.7.6, 5.7.7, 5.7.8, 5.7.9, 5.7.x-dev].
    - Conclusion: don't install sebastian/comparator 1.2.2
    - phpunit/phpunit 5.7.x-dev requires sebastian/comparator ^1.2.4 -> satisfiable by sebastian/comparator[1.2.4, 1.2.x-dev].
    - Can only install one of: sebastian/comparator[1.2.4, 1.2.2].
    - Can only install one of: sebastian/comparator[1.2.x-dev, 1.2.2].
    - Installation request for sebastian/comparator (locked at 1.2.2) -> satisfiable by sebastian/comparator[1.2.2].


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

So long story short, how does one go about setting up a dev environment to run Unit/Functional tests. If there's good documentation on the internet, can a link to that documentation be included in the OroCRM documentation. If it doesn't exist, what's the "right" way to get set up? If someone provides notes on a working configuration, I'm happy to turn that into "real" documentation and create a PR.

Adding Computed fields to API

The documentation for adding a computed field to the API (https://doc.oroinc.com/backend/api/how-to/#add-a-computed-field) seems to be lacking in one important detail. If you follow the instructions as written you can no longer update the entity via the API as the computed field isn't mapped by the form type class. The solution (supplied by @vsoroka in Slack - https://orocommunity.slack.com/archives/C11NBUUGY/p1604973667120900?thread_ts=1604971873.120700&cid=C11NBUUGY ) is to add the following to api.yml:

form_options:
    mapped: false

It might be good if the documentation mentioned this so others don't inadvertently break their API following the documentation.

[SUGGESTION] Document CRUD

Something that is quite common in any system is the CRUD operations. Documenting it would be easier for beginners start Oro.

  • Create tables in the database (already exists)
  • Create Entities.
  • Insert
  • Update
  • List
  • View
  • Delete
  • Bulk Actions

Or maybe not teach step by step, but provide a simple example.

If there is already this, please send me the link.

Thank you.

Web API: config

Hello the documentation states that we can config some api options in the config.yml file (https://doc.oroinc.com/api/authentication/oauth-client-credentials/)

expires_in = 3600 seconds. Once the token is generated, it is valid for an hour and can be used multiple times within this time limit to request the necessary data. Expiration time can by configured in config.yml.

But we have no indication of what to set up in the config.yml. I would like to change the token's expiration date, but i don't know how...., what other parameters can we change ? where ? how ?

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.