Add an Issue Tracker and Project Management Module
I would like to help build an open source module that would add Issue Tracker and Project Management features to an Orchard Core CMS site. What is the process for starting a new module in this repository?
Edit: Adding checlist of what this module will need
Definitions
Issue - Used for reporting problems, requesting new features, or any request for something to be done.
Project - A set of related tasks that need to be completed.
Milestone - A date when something should happen such the date something is due to be completed.
Member - A user who is responsible for some part of an issue or project.
Features
Common to both an Issue and a Project
- [ ] Title
- [ ] Body (html or markdown)
- [ ] Requestor contact information
- [ ] Members (Assign to one or more users who are responsible for the task)
- [ ] Attach files
- [ ] Category
- [ ] Different groups of people should be linked to different categories. For example, IT would be responsible for the category "Computer" and Application Development would be responsible for the "Website" category
- [ ] Status (New, In Progress, completed, cancelled, etc)
- [ ] Priority
- [ ] Comments
- [ ] Milestones
Issue
- [ ] A user should be able to submit an Issue without having access to the admin side
- [ ] Users can view all Issues they have submitted
Project
- [ ] Multiple Issues can be associated with a project
Milestone
- [ ] Title
- [ ] Body (html or markdown)
- [ ] Date
Member
- [ ] User
Workflows
- [ ] Users who submitted or are assigned to should be notified when a change is made or comment added
- [ ] Users should be notified when new content is added with a Category they are responsible for
Simply you can open the solution and have a look at https://github.com/OrchardCoreContrib/OrchardCoreContrib.Modules/tree/main/src, like other modules, you can create a new module, then add a reference to OrchardCoreContrib.Modules.Web so you will be able to test your newly added module
I suggest we need to list all the required features as a checklist, then we can track them later easily. I'm waiting for your suggestion then I can participate to why you add
Definitions
Issue/Request/Ticket - Used for reporting problems, requesting new features, or any request for something to be done. I'm not exactly sure what to call this but I will refer to it as an Issue for now.
Project - A set of related tasks that need to be completed.
Features
Common to both an Issue and a Project
- [ ] Title
- [ ] Body (html or markdown)
- [ ] Requestor contact information
- [ ] Assign to one or more users who are responsible for the task
- [ ] Attach files
- [ ] Category
- [ ] Different groups of people should be linked to different categories. For example, IT would be responsible for the category "Computer" and Application Development would be responsible for the "Website" category
- [ ] Status (New, In Progress, completed, cancelled, etc)
- [ ] Priority
- [ ] Comments
Issue
- [ ] A user should be able to submit an Issue without having access to the admin side
- [ ] Users can view all Issues they have submitted
Project
- [ ] Multiple Issues can be associated with a project
- [ ] Due Date
Workflows
- [ ] Users who submitted or are assigned to should be notified when a change is made or comment added
- [ ] Users should be notified when new content is added with a Category they are responsible for
- Projects
- Milestones
- Members
- Issues
@DrewBrasher do you have a plan to start one this?
I am ready to get started on it. Would I just fork this repo and add a new project to the src folder? Do you have any suggestions for what to name the project?
You can create your module inside src folder like the other modules https://github.com/OrchardCoreContrib/OrchardCoreContrib.Modules/tree/main/src
Then you can add a reference in OrchardCoreContrib.Modules.Web project to test it
Do you have any suggestions for what to name the project?
IssueTracker
I've created a module for this in my https://github.com/DrewBrasher/OrchardCoreContrib.Modules/tree/IssueTrackerModule fork to start working on this. Right now it is just what the visual studio template from Lombiq created.
Normal OC template from within VS
Normal OC template from within VS
I used the one called "Orchard Core CMS Module".
You could push a draft PR and we might participate with each other