Jump to content

Contributing to PrestaShop Core should become more easy


ttoine

Recommended Posts

Dear contributors, many Pull Requests from the community have been merged last week, and that's great. We would like that contributing becomes more and more easy over time, and I would like to have your feedback:

  • What are your current difficulties to submit a Pull Request on PrestaShop Core repository?
  • What should we improve?
  • What documentation is missing?
  • Do you have other ideas?

Please, feel free to answer and discuss :)

  • Like 2
Link to comment
Share on other sites

  • razaro featured and pinned this topic
  • 5 months later...
  • 2 weeks later...

Hello ! Here are a very helpful doc about 1st contributions to github projects :) hope it helps

https://github.com/firstcontributions/first-contributions

Here is how it starts:
"It's hard. It's always hard the first time you do something. Especially when you are collaborating, making mistakes isn't a comfortable thing. We wanted to simplify the way new open-source contributors learn & contribute for the first time.

Reading articles & watching tutorials can help, but what's better than actually doing the stuff in a practice environment? This project aims at providing guidance & simplifying the way beginners make their first contribution. If you are looking to make your first contribution, follow the steps below."

Looks promising, right ;) ?

  • Like 1
Link to comment
Share on other sites

  • 3 months later...

am newest in presatshop , i have more difficulty to adapt with , i need more documentation about the inside of class, controller relation with database same like symfony or the php itself.

it will offer for the new developer the road to use presatshop easly

Thanks

Link to comment
Share on other sites

the offcial doc its soo general no specific for the used function or relation with database in this case you must spend ofr 6 months to be a beginner, and for the prestashop 1.7 its be so difficult to know the logic of develop and some issues dont work some of 1.6 

thnks for the gitter sugess may it will help me a little

my first problem is the use of file uploadfile in customer form (sign up) because the customerFormatter use settype 'file' as dynamic and cant get the file name the show in Admin Customer as pdf download :(  

Edited by Sahnoun MN (see edit history)
  • Like 1
Link to comment
Share on other sites

no its a developement problem, i have problem with the form of customerForm in (customerFormatter.php) while i add some new input like file type like this 

 $format['file'] = (new FormField)
            ->setName('file')
            ->setType('file')
            ->setLabel(
                $this->translator->trans(
                    'file', [], 'Shop.Forms.Labels'
                )
            )
            ->setRequired(true)
        ;

in this case how can i get name of this file(pb: cant save name in database of file variable) to used next to download this file in dashboard (backoffice - AdminCustomer) because i do it with PS1.6 but in PS1.7 cant find a way

i try to do like that for file type but isnt work -> http://prestacraft.com/adding-new-fields-to-the-registration-form-in-prestashop-1-7/

Edited by Sahnoun MN (see edit history)
Link to comment
Share on other sites

  • 3 weeks later...
  • 2 months later...

I think pull request are the way to go! If you don't know how to do this search online for it.

I think good documentation is the key to success. Just starting to look into prestashop, and the first Dec docs I find is in this form.

If creating a pull request is hard, then add a link in the documentation how to create a pull request.

Or add an option to paste your code somewhere, so a more advanced developer can create the pull request.

Link to comment
Share on other sites

  • 2 months later...
On 2/5/2019 at 11:05 PM, Sahnoun MN said:

the offcial doc its soo general no specific for the used function or relation with database in this case you must spend ofr 6 months to be a beginner, and for the prestashop 1.7 its be so difficult to know the logic of develop and some issues dont work some of 1.6 

The current documentation has been made for a trained reader (an experienced programmer) and this documentation is really superficial.

Link to comment
Share on other sites

  • 10 months later...
On 8/2/2019 at 7:16 AM, zapalm said:

The current documentation has been made for a trained reader (an experienced programmer) and this documentation is really superficial.

The problem with this is that you can't let the community help with pull requests since they don't know even where to start... The documentation is so superficial that you have to spend a lot of time learning how prestashop is made... I'm not saying that you must write a documentation of "how to make everything" but a well written documentation of "how things are done here" would be great. It's not even necessary a documentation, a map of how database is made and how classes, controllers, and all that stuff is connected would be a better solution.

 

Link to comment
Share on other sites

  • 7 months later...

Hi all,


Wow, old question (still actual?), here are just a few ideas in the February 21 context:


  • Why don't I propose more pull requests ?
    • Because it takes a lot of time: your code needs to be perfect, your commit message need to convince the community... It's like a diet, the tentation to give up is huge...
    • Because some of my previous pull requests has been refused just for PSR reasons or without argumentation or discussion (that's general not only for Prestashop)
    • Because there is such a long time between the pull request (I was working on) and the beginning of a discussion/merge. If ever anyone asks for a clarification, you need to dig again into it... once again, it's time consuming.
    • Because I work for a company that don't want my job to be shared with the community (with our competitors)
  • Some of us don't mind about copyright and being the author of the patch. Sometimes, it's quite easier to give a patch in a github Prestashop issue, and leave the developer team include it in the code. 
  • I agree Devdoc was really superficial, but it's getting better now. On the contrary, I worry it gets a messy mess. Some information is dispatched everywhere. It would deserve a bit normalization. I agree it's a hard job. One more point on documentation: Stop thinking we are all up to date with newer technologies (the "I'm stupid" brake), do not hesitate to sum up things. There are so many new concepts in 1.7 for those coming from 1.6. Do not hesitate to say more about composer, nodes, webpack. (How Prestashop is using them? Are they used a classical way? What is specific to Prestashop?) Devdoc is getting better on this point. Hard to find the right balance between Prestashop documentation and link to those tools documentation.
  • Better driven community communication/history. This pined post give a link to gitter? Does it work for you? Clicking on the link provided, I get nowhere or 404. I've discovered since that it has moved to Slack. Wow, hard to follow... Those gitter links are also in a build.prestashop.com PDF. I know it's hard because Google, Bing... record everything, but it's a pain to fall on outdated documentation/link/tools.

That's just ideas/debriefing, I do not have the feeling the Prestashop Team is not trying to do its best.


Regards,
 

Link to comment
Share on other sites

Just an exemple: Imagine you want to propose a commit to add a "410 gone" status to old products. You change the files in src/Core as needed. Then before to submit the patch you need to test it. As you added a new status to your form list (see https://www.prestashop.com/forums/topic/1041966-are-translation-catalog-automatically-update/) you need to have it added to your default xlf translation files in order to get it translated and then displayed.

I didn't find anything in the documentation to produce those files. Diving into the code, I think the .tn9.yml file is involved, but I didn't find any script relying on its name.

I asked the Core developper community on the forum, the #community-help and #dev-core on slack, the PrestaShop/TranslationToolsBundle on github without any answer yet.

Maybe I'm missing something obvious, but as fo today, it's a brake (at least for me) to propose a commit.

Regards, 

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 year later...

Just recently I wanted to correct some grammar mistakes in the code, submitted several PRs but they requested I merge all of those PRs into a single request. Unfortunately sparing a bit of time to submit a PR is probably as far as I can go as I have other things to do other than to learn how to merge patches in a patch tree on github in a browser (spoiler: difficult and takes time). I know it will be "right" in a nerdy kind of way, but you should really value the time of contributors more. Had those patches been accepted as they were, I'd have probably considered contributing more in the grammar department, but now I just can't find the motivation to do that.

Link to comment
Share on other sites

  • 6 months later...
On 6/16/2020 at 10:06 AM, Kami Solutions said:

The problem with this is that you can't let the community help with pull requests since they don't know even where to start... The documentation is so superficial that you have to spend a lot of time learning how prestashop is made... I'm not saying that you must write a documentation of "how to make everything" but a well written documentation of "how things are done here" would be great. It's not even necessary a documentation, a map of how database is made and how classes, controllers, and all that stuff is connected would be a better solution.

 

I take 10 years developing for Prestashop and I have more than 10 modules in sale in Prestashop Addons, and even for us it is very difficult to understand some parts of Prestashop. It is true, the developer documentation is very very poor of content. Most of cases we have to search information in forums, modules examples, read modules core code to learn...

The old structure of Prestashop in MVC when Prestashop was 1.6 version is easy, but with the transition to Symfony, there is no much content in documentation to be able to adapt ourselves for this in our developments.

What surprises me about the Prestashop team and we have been complaining and trying to talk to them about it for a long time, is that they earn a lot of money with the sales commissions of our modules. However, they don't count on us at all, they don't invest time in improving the infrastructure or the tools that help us develop. When they make a change, they do not notify us or meet with us to ask our opinion or to inform us of the changes or important aspects. They also don't offer us free courses for developers...

They are only dedicated to earning sales commissions and they only call us to tell us that if we want to be a Prestashop or Prestashop Platinum Partner, we have to pay a large annual fee.

I have been quite dissatisfied with these issues.

Link to comment
Share on other sites

Hello @LieBM

Quote

It is true, the developer documentation is very very poor of content. Most of cases we have to search information in forums, modules examples, read modules core code to learn...

I strongly disagree. Documentation was poor a few years ago, these days? It's much better. When was the last time you searched for something and what was it?

Also, example modules are part of the developer documentation.

Quote

The old structure of Prestashop in MVC when Prestashop was 1.6 version is easy, but with the transition to Symfony, there is no much content in documentation to be able to adapt ourselves for this in our developments.

It is Symfony. There's plenty of resources on the web, there are example modules on our GitHub as well. There's also bunch of articles on build.prestashop-project.org on how to work with the new architecture.

Quote

What surprises me about the Prestashop team and we have been complaining and trying to talk to them about it for a long time

I think there's some misunderstanding. You probably contacted PrestaShop Marketplace team whose has nothing to do with the actual software development. If you want to share your feedback about the software you could use PrestaShop Project communication channels like GitHub Discussions or Slack.

Quote

However, they don't count on us at all, they don't invest time in improving the infrastructure or the tools that help us develop. When they make a change, they do not notify us or meet with us to ask our opinion or to inform us of the changes or important aspects. They also don't offer us free courses for developers...

I think the reason being is that there's a company, which focuses more on providing you and your clients with business tools, and there's a PrestaShop open source project, where you could get help on topics important for developers. Maybe we didn't communicate about this differentiation clear enough...

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

  • 10 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...