wiki:AddingNewFeatures

Version 3 (modified by sauermann, 18 years ago) (diff)

--

Gnowsis Development Process XXI: Adding New Features

I have an idea, it involves two dwarves and a fairy living in a house... (The Janitor from "Your Studio and You")

So, you have a great Idea for a gnowsis feature.

  • Start by looking if the idea is already implemented.
    • Look at the UseCases
    • LeoSauermann usually knows if an idea is already implemented. Ask him via jabber
  • First, write an e-mail to the gnowsis-dev mailinglist, see GnowsisMailinglists.
  • Then, create a wikipage describing the new idea, best at GnowsisBrainstorm
  • If your idea is great and seems to be promising (which means, you got some mail back from the mailinglist, we are sure every idea is great if you have kept it munching inside your brain long enough) - make an enhancement TICKET.
    • Go To "New Ticket"
    • be sure to check the "enhancement" option in the combobox up there, not "defect"
  • Be sure to write a second e-mail to the GnowsisMailinglists, to note when the feature should be added, then you can enter the Milestone info to the ticket. We might also add priority.

When you implement an idea:

  • Write an Interface or abstract class first!
  • Then write a JUnit test first! This is the best way to start. Put your test into some src/test/org/gnowsis/... folder
  • Write then the Implementation! put the code into src/java/org/gnowsis/....
  • Again: first interface, then JUnit test, then implementation
  • Use LoggingAndDebugging if you have bugs.

what to put in tickets, what in the wiki

In the wiki we put our brainstorming ideas about what use cases we need, what APIs we need and we document how the APIs work. If something is needed to be programmed, you may create a ticket for it, if it is a major thing in gnowsis. Then we have the roadmap with the nice progress bar.

You must not create a ticket for things that are just wild ideas and will probably never be implemented. That distracts humble programmers who want to solve tickets.