Hacking:Developer FAQ: Difference between revisions

Content deleted Content added
Changing valentina to seamly / seamly2D
Line 1: Line 1:
== Valentina Development ==
== Seamly2D Development ==


=== How can I support Valentina development? ===
=== How can I support Seamly2D development? ===
By using Valentina and reporting any bugs you find to [https://bitbucket.org/dismine/valentina/issues?status=new&status=open Issue Tracker] you're helping a great deal. But there are other non-technical ways of supporting the development of The Valentina as well.
By using Seamly2D and reporting any bugs you find to [https://bitbucket.org/dismine/valentina/issues?status=new&status=open Issue Tracker] you're helping a great deal. But there are other non-technical ways of supporting the development of The Seamly2D as well.


Valentina has an [[User Manual|user manual]] that you can help us improve and translate. Also we need your help with localization.
Seamly2D has an [[User Manual|user manual]] that you can help us improve and translate. Also we need your help with localization.


You can also have a look at bug reports filed for Valentina and pick something. You can use the issue tracker to find bug reports you could take care of, but we encourage you contacting us beforehand to find out if the task you picked is still valid. It's best to discuss working on something in either [https://groups.google.com/forum/#!forum/valentina-project-list mailing list] or IRC channel before beginning to fix things and implement features. This is because requests have to be checked against bigger design decisions. We'd hate if you wasted your time on something that shouldn't have been done.
You can also have a look at bug reports filed for Seamly2D and pick something. You can use the issue tracker to find bug reports you could take care of, but we encourage you contacting us beforehand to find out if the task you picked is still valid. It's best to discuss working on something in either [https://groups.google.com/forum/#!forum/valentina-project-list mailing list] or IRC channel before beginning to fix things and implement features. This is because requests have to be checked against bigger design decisions. We'd hate if you wasted your time on something that shouldn't have been done.


Major planned changes are listed at the feature [https://bitbucket.org/dismine/valentina/wiki/Road%20map roadmap page].
Major planned changes are listed at the feature [https://bitbucket.org/dismine/valentina/wiki/Road%20map roadmap page].
Line 15: Line 15:
If you're new to open source development, the article [http://schlitt.info/opensource/blog/0541_10_golden_rules_for_starting_with_open_source.html '10 golden rules for starting with open source'] from Tobias Schlitt offers useful and worth knowing hints.
If you're new to open source development, the article [http://schlitt.info/opensource/blog/0541_10_golden_rules_for_starting_with_open_source.html '10 golden rules for starting with open source'] from Tobias Schlitt offers useful and worth knowing hints.


=== Who is planning Valentina's development? ===
=== Who is planning Seamly2D's development? ===
Valentina team does not have time-based schedules, instead we rely on a [https://bitbucket.org/dismine/valentina/wiki/Road%20map feature roadmap].
Seamly2D team does not have time-based schedules, instead we rely on a [https://bitbucket.org/dismine/valentina/wiki/Road%20map feature roadmap].


We use [https://en.wikipedia.org/wiki/Mercurial Mercurial] [https://www.mercurial-scm.org/wiki/NamedBranches named branches] for developing major new features. Each new feature lives in own ''feature'' branch. If a feature is ready for inclusion into the main develop branch, it is merged. The decision, whether it's ready, is made by the core team (currently: Roman).
We use [https://en.wikipedia.org/wiki/Mercurial Mercurial] [https://www.mercurial-scm.org/wiki/NamedBranches named branches] for developing major new features. Each new feature lives in own ''feature'' branch. If a feature is ready for inclusion into the main develop branch, it is merged. The decision, whether it's ready, is made by the core team (currently: Roman).


=== How can I become a Valentina developer? ===
=== How can I become a Seamly2D developer? ===
If you are a developer who wants to start contributing code to the Valentina, the best way to get to know its structure is by fixing bugs reported in [https://bitbucket.org/dismine/valentina/issues?status=new&status=open Issue tracker]. Pick a bug, perhaps ask the advice of another developer as to whether he/she thinks it will be an easy bug or not, and then fix it. Sounds easy, doesn't it?
If you are a developer who wants to start contributing code to the Seamly2D, the best way to get to know its structure is by fixing bugs reported in [https://bitbucket.org/dismine/valentina/issues?status=new&status=open Issue tracker]. Pick a bug, perhaps ask the advice of another developer as to whether he/she thinks it will be an easy bug or not, and then fix it. Sounds easy, doesn't it?


After helping with a couple of bugs, people will start to recognize your immense talent, and you will be on your way to becoming a Valentina developer. Any time you feel able, you can pick a smaller enhancement request and have a go at implementing it. It's that easy.
After helping with a couple of bugs, people will start to recognize your immense talent, and you will be on your way to becoming a Seamly2D developer. Any time you feel able, you can pick a smaller enhancement request and have a go at implementing it. It's that easy.


=== Where should I go for help when I need it? ===
=== Where should I go for help when I need it? ===
There are several channels of communication:
There are several channels of communication:
* Main [https://groups.google.com/forum/#!forum/valentina-project-list mail list] (recommended way).
* Main [https://groups.google.com/forum/#!forum/valentina-project-list mail list] (recommended way).
* IRC channel [https://webchat.freenode.net/?channels=#valentina #valentina]. Abandoned right now.
* IRC channel [https://webchat.freenode.net/?channels=#seamly2d #seamly2d]. Abandoned right now.
* You can ask question on [https://www.facebook.com/Valentina.Project Facebook].
* You can ask question on [https://www.facebook.com/Valentina.Project Facebook].


=== Where can I find documentation for the Valentina API? ===
=== Where can I find documentation for the Seamly2D API? ===
There are several ways, see [[Hacking:API documentation]].
There are several ways, see [[Hacking:API documentation]].


Line 39: Line 39:
You can also send it to the mailing list, but this way will works well only for small patches. For big one you will mostly asked to make a pull request.
You can also send it to the mailing list, but this way will works well only for small patches. For big one you will mostly asked to make a pull request.


=== What is the preferred coding style used in Valentina? ===
=== What is the preferred coding style used in Seamly2D? ===
See our [[Hacking:Code style conventions]].
See our [[Hacking:Code style conventions]].


Line 45: Line 45:
Your editor will not be able to do everything for you, but you can configure most editors so that they use two spaces for indentation, use spaces instead of tabs, etc.
Your editor will not be able to do everything for you, but you can configure most editors so that they use two spaces for indentation, use spaces instead of tabs, etc.


If you are using Qt Creator go to ''Tools -> Options... -> C++ -> Code Style''. Then import code style file from ''<source_root>/share/valentina_code_style.xml''.
If you are using Qt Creator go to ''Tools -> Options... -> C++ -> Code Style''. Then import code style file from ''<source_root>/share/seamly2d_code_style.xml''.
[[File:Qt Creator code style.png|framless|center]]
[[File:Qt Creator code style.png|framless|center]]
Line 57: Line 57:
If you are using another editor and you know how to configure it correctly, please tell us about it or update this page yourself.
If you are using another editor and you know how to configure it correctly, please tell us about it or update this page yourself.


=== Who coordinates the Valentina translation efforts? ===
=== Who coordinates the Seamly2D translation efforts? ===
Any help with translations is appreciated. If you want to help, please register on [http://www.transifex.com Transifex] and make a request to join [https://www.transifex.com/valentina/teams/7274/ Valentina translation team].
Any help with translations is appreciated. If you want to help, please register on [http://www.transifex.com Transifex] and make a request to join [https://www.transifex.com/valentina/teams/7274/ Valentina translation team].


More information about Valentina and localisation can be found in the page [[Hacking::Localization|Hacking::Localization]].
More information about Seamly2D and localisation can be found in the page [[Hacking::Localization|Hacking::Localization]].


=== Where do I find the code? ===
=== Where do I find the code? ===
You can find the [https://bitbucket.org/dismine/valentina Valentina source code] hosted on bitbucket.
You can find the [https://github.com/FashionFreedom/Seamly2D Seamly2D source code] hosted on github.


If you seek last unstable version look at the ''develop'' branch. It contains source code for a next major release (for example 0.5.0).
If you seek last unstable version look at the ''develop'' branch. It contains source code for a next major release (for example 0.5.0).
Line 71: Line 71:
The ''default'' branch only for releases. This is the best place if you are looking last stable release.
The ''default'' branch only for releases. This is the best place if you are looking last stable release.


==== Compiling Valentina ====
==== Compiling Seamly2D ====
* General: [[Hacking:Building]]
* General: [[Hacking:Building]]
* Descriptions for Linux: [[Hacking:Building/Linux]]
* Descriptions for Linux: [[Hacking:Building/Linux]]
* Descriptions for Windows: [[Hacking:Building/Windows]]
* Descriptions for Windows: [[Hacking:Building/Windows]]


=== What are planned deadlines for next edititons of Valentina? Are there any? ===
=== What are planned deadlines for next edititons of Seamly2D? Are there any? ===
Once we have a bigger team, we probably will have deadlines. At this point we don't have the resources to plan time-based releases.
Once we have a bigger team, we probably will have deadlines. At this point we don't have the resources to plan time-based releases.


Line 85: Line 85:


=== What is Issue Tracker?===
=== What is Issue Tracker?===
The Valentina project uses issue tracker provided by bitbucket for tracking of bug reports, enhancement requests etc. Read more about [[Hacking:Why issue tracker|why we use issue tracker for bugs]].
The Seamly2D project uses issue tracker provided by bitbucket for tracking of bug reports, enhancement requests etc. Read more about [[Hacking:Why issue tracker|why we use issue tracker for bugs]].


A beginners tutorial describing how to report a bug can be found in the [[Hacking:How To Report Valentina Bugs]] document.
A beginners tutorial describing how to report a bug can be found in the [[Hacking:How To Report Seamly2D Bugs]] document.


=== What is the meaning of the WONTFIX status code in Issue Tracker? ===
=== What is the meaning of the WONTFIX status code in Issue Tracker? ===
If the status of a bug is changed to WONTFIX it means the Valentina developers need more information from the bug reporter in order to resolve the bug.
If the status of a bug is changed to WONTFIX it means the Seamly2D developers need more information from the bug reporter in order to resolve the bug.


=== What is the best way to refer to a bug in Issue Tracker? ===
=== What is the best way to refer to a bug in Issue Tracker? ===
Line 109: Line 109:


=== How do I commit to the Mercurial tree? ===
=== How do I commit to the Mercurial tree? ===
Valentina uses bitbuket's Mercurial repository for source code storage. Please read their [https://confluence.atlassian.com guidelines].
Seamly2D uses bitbuket's Mercurial repository for source code storage. Please read their [https://confluence.atlassian.com guidelines].


Please note that we want to work with you for a while before we can confirm that you are going to make a great upstream developer. Until then you can maintain your own fork on Bitbucket.
Please note that we want to work with you for a while before we can confirm that you are going to make a great upstream developer. Until then you can maintain your own fork on Bitbucket.
Line 125: Line 125:
== Miscellaneous ==
== Miscellaneous ==


=== Where can I learn more about the Qt framework system used by Valentina? ===
=== Where can I learn more about the Qt framework system used by Seamly2D? ===
You can start with [https://doc.qt.io/ Qt Documentation]
You can start with [https://doc.qt.io/ Qt Documentation]


=== What is openhub.net for? Why developers are listed there and not on an official Valentina website? ===
=== What is openhub.net for? Why developers are listed there and not on an official Seamly2D website? ===
The Valentina project itself doesn't maintain a site with an overview of the developers. If you want to know who are most active developers in the project, you can look at openhub.net statistics of the last 12 months. Openhub.net is free, public directory, a web service and online community platform that aims to map the landscape of open source development (see [https://en.wikipedia.org/wiki/Open_Hub the description in the English Wikipedia]). It collects information from public available source code repositories and creates statistics from it. To read more about openhub.net, visit [http://meta.openhub.net/us/ the openhub.net self-introduction].
The Seamly2D project itself doesn't maintain a site with an overview of the developers. If you want to know who are most active developers in the project, you can look at openhub.net statistics of the last 12 months. Openhub.net is free, public directory, a web service and online community platform that aims to map the landscape of open source development (see [https://en.wikipedia.org/wiki/Open_Hub the description in the English Wikipedia]). It collects information from public available source code repositories and creates statistics from it. To read more about openhub.net, visit [http://meta.openhub.net/us/ the openhub.net self-introduction].


=== Is there a Valentina user FAQ available? ===
=== Is there a Seamly2D user FAQ available? ===
Yes, you find it [[FAQ|here]].
Yes, you find it [[FAQ|here]].