OrchardCoreContrib.Modules icon indicating copy to clipboard operation
OrchardCoreContrib.Modules copied to clipboard

Add an Issue Tracker and Project Management Module

Open DrewBrasher opened this issue 2 years ago • 12 comments

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

DrewBrasher avatar Aug 27 '23 17:08 DrewBrasher

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

hishamco avatar Aug 28 '23 10:08 hishamco

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

hishamco avatar Aug 28 '23 10:08 hishamco

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

DrewBrasher avatar Aug 28 '23 13:08 DrewBrasher

  • Projects
  • Milestones
  • Members
  • Issues

hishamco avatar Aug 28 '23 22:08 hishamco

@DrewBrasher do you have a plan to start one this?

hishamco avatar Oct 17 '23 13:10 hishamco

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?

DrewBrasher avatar Oct 18 '23 13:10 DrewBrasher

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

hishamco avatar Oct 18 '23 14:10 hishamco

Do you have any suggestions for what to name the project?

IssueTracker

hishamco avatar Oct 18 '23 14:10 hishamco

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.

DrewBrasher avatar Dec 27 '23 19:12 DrewBrasher

Normal OC template from within VS

hishamco avatar Dec 27 '23 19:12 hishamco

Normal OC template from within VS

I used the one called "Orchard Core CMS Module".

DrewBrasher avatar Dec 27 '23 19:12 DrewBrasher

You could push a draft PR and we might participate with each other

hishamco avatar Dec 27 '23 19:12 hishamco