Well, maybe someday. Here's what I'd like to see in the thing. Some of this comes from my experiences with ActiveCollab. I like the minimalist, KISS approach, and whatever else isn't in it could be added with plugins. The minimal features I would want are:jaoudestudios wrote:I'm up for getting involved.
- Sell the thing for $60 USD for a server license -- I think it's a fair asking price. One could use the online demo to make a decision.
- MySQL database -- just because most shared hosts have it, although I still prefer PostgreSQL, but the wonders of PDO make it easy to not care what the backend database is
- Built with an extremely minimalist, generic MVC and a PDO abstraction class that includes an ActiveRecord implementation. Also uses CCAPS for view templates.
- I like how PunBB does its minimalist yet powerful plugin system -- this system could use the same design. (You have to look at the source of PunBB to see what I mean.)
- Multiple coworkers servicing a client.
- Clients and coworkers assigned to projects to interact together.
- Clients and coworkers can be assigned to multiple projects. There's an easy project switcher in the upperleft or upperright or something like that, and it remembers the last project you were working with.
- Secure logins -- no way to hack around it.
- Clients can't see whomever else you and your coworkers are servicing.
- Clients and coworkers sharing the same privileges inside a project except delegation or permissions change or group deletion -- keeps it simple.
- Only coworkers can do group deletion.
- Tabs on a given project switch between Project Summary/Status page, Lists, Messages, and Files.
- A "group" is what comes under Lists, Messages, and Files. So, I could create a list called "Bug List", and that's the group. Another could be "Wish List", for instance. Same with Messages & Files -- I could have "Design Thoughts" and "Status Update", as well as "Sourcecode Files" and "Image Files".
- Project Summary Page: info on List Groups, Message Groups, or File Groups created, updated, or removed; info on lists, messages, or files changed or added in any way; info on task reminders; info also shows who did what; data scrolls off after x number of entries.
- Lists: a grouping of checklists. A checklist has tasks. A task form would ask in a textarea field what the task is, what the category and subcategory is, an optional due date, an optional reminder feature, an optional assignee, and the status of completed or not completed. A checklist would have a subscription feature to be notified of events by email.
- Messages: a grouping of non-threaded messages, sort of like a poor man's forum. You could have a message group like Design Plans, or another like Status Update. A message would use TinyMCE as its editor and not really include a title -- just the message and who sent it. A quoting feature would be provided, along with pasting of sourcecode in a compressed view (that also scrolls code after so many lines inside an overflow DIV with a scroller).
- Files: a grouping of non-threaded file uploads. You could have a file group called "March 2009 Files" or "Last Year's Backup" or "Source Code Files" or "Image Files", for instance.
Plugin opportunities:
- CVS or Subversion integration
- GANTT charts
- Ticketing system (to take the place of Lists while still leaving Lists available)
- PunBB forum integration
- Wiki -- but with pages editable with TinyMCE instead of in some sort of ridiculous wiki language
- Invoicing
- Time Meter
- Lessons Learned -- a collection of questionnaires for each coworker and client, used at the end of each phase, to help extract lessons learned from a project phase and how to improve in the future, and then the group can vote up or down whichever thoughts sound best
- Wishlist -- kind of like Reddit, but for project wishes, and grouped into phases of a project, such as "wishes for phase 1", etc.