On feature workflow

hi ppl,

I see that the features requests are increasing and thatā€™s a great thing, but i fear that we should start to have a bit of confusion if we do not start to fix a workflow for new developments:

first of all nehtserver has an external repository for new packages that is http://dev.nethserver.org/projects/nethforge/wiki/NethForge

so my proposal of workflow is based on the life-cycle of the backuppc feature request :

  1. request plugin
  2. howto for installation from external packages
  3. package creation and then set this in the NethForge repo
  4. installationā€™s howto by NethForge repo
  5. if it is an interesting feature, used and stable insertion in the official repos
2 Likes

I do like it, because itā€™s just put on papers the actual procedure. @stephdl what do you think?

All need to be started from a request and a howTo, after it is just coding.

Ideally you should let access to nethforge to people able to code, else you will have some exterior repositories like I did for smeserver. I donā€™t know what is the best way for nethserver, but I will choose the most easier way for me :smile:

Concerning the module factory, that could be a good thing to feed the contributor by your help, by your tests, by your howto, and one day, you will become a new contributor too. During weeks, my first work was to read source code and developerā€™s patches, and a day, I started to write them.

4 Likes

I love this sentence! :smile: So @Absynth your the new HowToMaster

And @stephdl the ModuleMaster check your profile! :smiley:

The RPM signing is a manual process. It has obvious security concerns, so the RPM release process requires the Packager supervision. However, as you experimented, the development can proceed without accessing the ā€œofficialā€ NethForge repo until the final step.

Going further, sometimes I think Redmine becomes a cumbersome host, and Iā€™d like to base the NethForge process on GitHub, where every contrib could find an home with all required tools:

  • code hosting
  • issue tracker
  • wiki
  • pull requests
  • automated builds (? Iā€™m thinking about travis-ci)

What do you think?

I think that ways should become the same :wink:

1 Like

Sorry for the delay @davidep but I didnā€™t forget to answer, only my free time was a bit shorter.

Iā€™m happy that you trust me however Iā€™m still thinking about a build server accessible to developers but I agree for now it is not needed mainly because the developer community is tiny. With a build server, the signing process is automatic, the only sensible part is when the rpm is pushed from a stage repository to nethforge and I must agree that all people canā€™t be allowed.

On another hand the principle of PPA could be used, and all developers will be allowed to manage their own repositories. Each will be responsible of his actions and errors. If I speak of that is mainly because a web area (sharing or real dedicated server) is a real cost and it could be a barrier to developers.

You want to move the full issue management to github with all the advantages given by their bug tracking, wiki, social network, code sharing. I understand that bundle is interesting but my question is how it could be easy to follow bugs.
Indeed I follow now one channel, Redmine, but if each rpm tracks its own issues in github, how you can follow all issues of the project. I must admit that I donā€™t know if you can register to all bugs coming from the nethserver Git.

My other interrogation is what will be the future of Github.

For now it is cool, it is a startup they donā€™t need money, they need to growā€¦But tomorrow when they will decide that the code is their codeā€¦how will you go back with all your issues, wiki, dataā€¦

It will be a HUGE (fecking) mess.

IMHO you need to own your data and get all your development process on your side.

1 Like

Like NethServer, other projects exist on GitHub and are splitted between multiple sub-repositories: they use a ā€œmasterā€ repository for issue tracking and wiki. The other sub-repos have both wiki and issue tracker disabled.

Iā€™m evaluating also a nice Kanban board for GitHub: waffle.io This is the Nethgui view.

By now the Redmine instance is a dedicated machine on DigitalOcean. Sometimes hangs, and requires updates and maintenance. Iā€™m not very happy of it, and Iā€™m looking around for other possible solutionsā€¦

I understand your worries about cloud services: like any other service, we must set up a backup strategy if the bad day will come. About the code, wiki, and web pages data: they are just git repositories, and the backup is a trivial git fetch. The PR, issues and comments are accessible through the API and require a specific client. A quick ā€œgithub backupā€ search shows this is a common concern!

Please, letā€™s discuss further! Iā€™d like to hear also other opinions on tools and workflow :wink: