How to Contribute and Request Features

How To Request Features

All software needs user feedback and feature requests, to grow and maintain alignment with the needs of its users.

OpenDroneMap is FOSS software. Free and open source (FOSS) projects are interesting from the inside and outside: from the outside, successful ones feel like they should be able to do anything, and it’s hard to know what a reasonable request is. From the inside of a project, they can feel very resource constrained: largely by time, money, and opportunity overload.

Demanding that a feature be implemented is probably not going to convince the development team to do so. Imagine if somebody knocked on your door and asked you to "stop reading this page right now and come to my house to cook me dinner!". Your first response might very reasonably be "who on earth is this person and why should I spend my time and energy fulfilling his agenda instead of my own?".

Suggesting that a feature be implemented is a more effective (and cordial) way to ask for new features, especially if you're prepared to offer some of your own resources (time, funds or both) to help get the feature implemented. Explaining why your suggestion can benefit others can also help. If the feature benefits you exclusively, it might be harder to convince others to do the work for you.

A feature request can be submitted as issues on the applicable Github repository (e.g., WebODM or ODM or similar) or more simply as a discussion topic on the community forum. Try to start by searching these sources to see if someone else has already brought it up. Sometimes a feature is already in the works, or has at least been discussed.

To request the addition of support for new drone cameras: please share a set of test images on the datasets channel on the forum. Without test images there's not much the developers can do.

And importantly, the trick is to listen: if someone within the project says: "This is a big lift, we need MONEY or TIME or SOMEONE TO HELP CODE IT" (or possibly a combination of the three) then there are two answers that work really well in response:

Ok. I didn’t know it was a big feature request! I hope someone comes along with the necessary resources. As a community member, I would be happy to be an early user and tester!

or

Let’s figure out if we can put together the resources to get this done! Here’s what I can contribute toward it: …

We are glad you are excited to see new features added to the project. Some new features need support, and some are easier to implement. We'll do our best to help you understand where your request falls, and we appreciate any support you can provide.

Paano makadaragdag

Ang OpenDroneMap ay produkto ng kontribusyon ng isang grupo na binubuo ng mga tao. Maari kang makaragdag ng kontribusiyon kahit na ikaw ay hindi isang ekspertong programmer.

Pagtitipon ng Komunidad

Kung ikaw ay isang indibidwal na gustong makatulong, nagkaroon ng problema at nangangailangan ng tulong, 'ang tugunan na ito <https://community.opendronemap.org/>`_ ay mabisang sanggunian. Maaaring mahanap ang sagot sa tanong at anumang karagdagan na impormasyon gamit ang tugunan na ito. Kung ikaw naman ay may nais ibahagi na datos, hinihikayat namin na gamitin ang platapormang ito sa pagbahagi ng mga karagdagang kaalaman upang makatulong sa iba. Nawa ay masulit ang tugunan na ito bago magsumite ng problema sa ating mga ekspertong.

Pagsumite ng mga Sira

Ang mga sira ang itinuturing na isyu ng Github. Maaari lamang na magbigay-ulat sa ating imbakan at markahan ito ng Bug.

Ilahad ang kompleto na detalye ng problema upang masolusyonan ng eksperto ang problema:

  • Gumamit ng klaro at detalyadong deskripsyon sa pamagat upang mapadali ang pagresolba sa problema.

  • Isalaysay ang buong pangyayari kung paano nagsimula ang problema siguraduhin na detalyado ang pagsalaysay. Halimbawa, simulan ang kwento kung paano sinisimulan ang paggamit ng ODM (Docker, Vagrant, etc), kung anong command ang ginamit sa terminal. Kapag nagsalaysay ng mga hakbang, bigyang eksplanasyon kung paano ginawa ang bawat hakbang.

  • Magbigay ng masinsin na halimbawa kung pano ginawa ang mga hakbang. Isama ang mga kawing papunta sa mga dokumento o sa mga proyektong GitHub, i-copy/paste ang mga snippet na ginamit sa mga nailathalang halimbawa. Kung ikaw ay magpapasa ng snippet patungkol sa isyu, gamitin ang Markdown code blocks.

  • Isalaysay ang pangyayari na naobserbahan matapos makumpleto ang mga hakbang at ituro kung ano mismo ang naging sanhi ng problema.

  • Ilahad and kagawian na inaasahan na makita at bakit.

  • Magpasa ng litrato at ng animated GIFs na pinapakitang sinusundan mo ang mga hakbang na ito upang maresolba ang problema. maaari mong gamitin ang mga 'kawing na ito para ma-itala ang GIFs sa macOS at Windows <http://www.cockos.com/licecap/>`_, at ito pati na rin ito para sa Linux.

  • Kung ang problema at patungkol sa pagsasagawa, maaaring paki-paskil lamang ang kumpletong detalye ng inyong makina (pangalan ng may-ari at makina).

  • Kung ang problema ay kusang lumabas at tila hindi sanhi ng anumang aksyon, maaari lamang na ikwento ang kuong detalye ng inyong ginagawa bago masira ang makina. Ibahagi ang buong kwento gamit ang mga panuto sa baba.

Isalaysay ang detalye ng iyong pagsasaayos at kapaligiran.

  • Anong bersiyon ng ODM ang iyong ginagamit? Iyo ba ay ang stable release? o ang tinatawag na clone of a master?

  • Ano ang pangalan at bersiyon ng OS ang iyong ginagamit?

  • ikaw ba ang gumagamit ng ODM sa pamamagitan ng isang virtual machine o ng isang Docker? Kung ang sagot ay oo, ano ang VM software at bersiyon ng OS ang iyong ginagamit bilang may-ari o bisita?

Template para sa pagpapasa ng Bug Reports

[Short description of problem here]

**Reproduction Steps:**

1. [First Step]
2. [Second Step]
3. [Other Steps...]

**Expected behavior:**

[Describe expected behavior here]

**Observed behavior:**

[Describe observed behavior here]

**Screenshots and GIFs**

![Screenshots and GIFs which follow reproduction steps to demonstrate the problem](url)

**ODM version:** [Enter ODM version here]
**OS and version:** [Enter OS name and version here]

**Additional information:**

* Problem started happening recently, didn't happen in an older version of ODM: [Yes/No]
* Problem can be reliably reproduced, doesn't happen randomly: [Yes/No]
* Problem happens with all datasets and projects, not only some datasets or projects: [Yes/No]

Ipakita ang mga Request

  • Magpasa ng larawan ng animated GIF sa iyong pull request hanggat maaari.

  • Sundan ang PEP8 Python Style Guide.

  • Tapusin ang bawat dokumento sa bagong linya.

  • Iwasan ang platform-dependent code:
    • Gamitin ang ('fs-plus').getHomeDirectory() upang makapunta sa home directory.

    • Gamitin ang path.join() upang pagsamasamahin anh mga dokumento.

    • Gamitin ang os.tmpdir() imbis ang /tmp tuwing kailangan ng reperensiya sa pansamantalang direktoryo.

  • Gamitin ang return option pagkatapos ng bawat punsyon.
    • Hindi return null, return undefined, null, o undefined

Learn to edit and help improve this page!