PHP Alternative To Trac

Ye' old general discussion board. Basically, for everything that isn't covered elsewhere. Come here to shoot the breeze, shoot your mouth off, or whatever suits your fancy.
This forum is not for asking programming related questions.

Moderator: General Moderators

User avatar
volomike
Forum Regular
Posts: 633
Joined: Wed Jan 16, 2008 9:04 am
Location: Myrtle Beach, South Carolina, USA

Re: PHP Alternative To Trac

Post by volomike »

jaoudestudios wrote:I'm up for getting involved.
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:

- 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.
User avatar
Jenk
DevNet Master
Posts: 3587
Joined: Mon Sep 19, 2005 6:24 am
Location: London

Re: PHP Alternative To Trac

Post by Jenk »

Weirdan wrote:
Jenk wrote:
onion2k wrote:Stupid clients. :banghead:
Stupid? Or just wanting to tell a person about their problem and not a machine? :P
Irrational for sure. Machines are much better at listening and logging such requests.
Meh.. every time I've phoned for support/to complain/whatever and had an automated response, it gripes me.. having to use an automated form on a webpage gripes me. I just want to talk to someone dammit! :)
User avatar
Weirdan
Moderator
Posts: 5978
Joined: Mon Nov 03, 2003 6:13 pm
Location: Odessa, Ukraine

Re: PHP Alternative To Trac

Post by Weirdan »

Jenk wrote:I just want to talk to someone dammit! :)
Get married =)
User avatar
volomike
Forum Regular
Posts: 633
Joined: Wed Jan 16, 2008 9:04 am
Location: Myrtle Beach, South Carolina, USA

Re: PHP Alternative To Trac

Post by volomike »

Idea -- if you take PunBB (because they seem to have their act together more than FluxBB right now, ironically), and then create an add-on for Tasks, and then add file attachment to messages and TinyMCE for the forum message posts -- you just might have a quick-and-dirty project management tool for client interaction.
alex.barylski
DevNet Evangelist
Posts: 6267
Joined: Tue Dec 21, 2004 5:00 pm
Location: Winnipeg

Re: PHP Alternative To Trac

Post by alex.barylski »

- 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.
What about $60/year for one account...that works out to about $5/month per project... :P
User avatar
volomike
Forum Regular
Posts: 633
Joined: Wed Jan 16, 2008 9:04 am
Location: Myrtle Beach, South Carolina, USA

Re: PHP Alternative To Trac

Post by volomike »

PCSpectra wrote:What about $60/year for one account...that works out to about $5/month per project.
I like keeping it simpler than that on pricing. I can let Microsoft be the guys who want to go nuts on variable pricing, confusing the customer, causing their pre-sales calls to shoot up.
User avatar
Jenk
DevNet Master
Posts: 3587
Joined: Mon Sep 19, 2005 6:24 am
Location: London

Re: PHP Alternative To Trac

Post by Jenk »

Weirdan wrote:
Jenk wrote:I just want to talk to someone dammit! :)
Get married =)
Hah. :) Practically there already, but I did say talk to someone, not get nagged by someone :P

But seriously, people want to communicate with people, not machines.
User avatar
volomike
Forum Regular
Posts: 633
Joined: Wed Jan 16, 2008 9:04 am
Location: Myrtle Beach, South Carolina, USA

Re: PHP Alternative To Trac

Post by volomike »

Say guys, you know what's fun? Fun is when you're posting a message in a forum like, "I've got this great idea to build a client management tool for freelancers but right now I'm focused on getting sales in here." Then, out of the blue, a client emails you and says, "Can you build me a client management tool?"

Working the proposal now.... :)
User avatar
jaoudestudios
DevNet Resident
Posts: 1483
Joined: Wed Jun 18, 2008 8:32 am
Location: Surrey

Re: PHP Alternative To Trac

Post by jaoudestudios »

volomike wrote:Say guys, you know what's fun? Fun is when you're posting a message in a forum like, "I've got this great idea to build a client management tool for freelancers but right now I'm focused on getting sales in here." Then, out of the blue, a client emails you and says, "Can you build me a client management tool?"

Working the proposal now.... :)
Haha, its fate. :wink:
alex.barylski
DevNet Evangelist
Posts: 6267
Joined: Tue Dec 21, 2004 5:00 pm
Location: Winnipeg

Re: PHP Alternative To Trac

Post by alex.barylski »

I like keeping it simpler than that on pricing. I can let Microsoft be the guys who want to go nuts on variable pricing, confusing the customer, causing their pre-sales calls to shoot up.
Haha...fare enough. Hosted solutions are IMHO they way to go. Offering a freebie for small projects that make no money and ocmmercial upgrades for less than $10/month to start is a good business model. :)

Lighthouse???
User avatar
Luke
The Ninja Space Mod
Posts: 6424
Joined: Fri Aug 05, 2005 1:53 pm
Location: Paradise, CA

Re: PHP Alternative To Trac

Post by Luke »

Dude... CCAPS looks awful! Constants? No Loops? Ew!
User avatar
volomike
Forum Regular
Posts: 633
Joined: Wed Jan 16, 2008 9:04 am
Location: Myrtle Beach, South Carolina, USA

Re: PHP Alternative To Trac

Post by volomike »

Luke wrote:Dude... CCAPS looks awful! Constants? No Loops? Ew!
* Constants are used instead of template {VAR} replacements -- gives you much faster speed than parsing.
* Constants are used instead of $variables -- gives you slightly faster speed and also stops you from having a constant written to more than once (1).
* Loops are not used -- makes the template hard to edit and follow the logic amongst all the other XHTML. Instead, loop in the page controller, build a string, and insert the string where the result should go.

(1) Case in point -- you build a page that loads widgets with similar properties. And let's say you create a variable like ITEM_COUNT for how many rows you display in those widgets. Because it's a constant and not a var, the first widget code loads and sets ITEM_COUNT. The next widget code runs and tries to set ITEM_COUNT, but fails, and you get a warning or an error depending on how you set things up. This is because you shouldn't call it ITEM_COUNT and use it multiple times. Instead, it should be a unique constant you pass to each widget. Now if you had used a regular $var, you would not get this warning error -- instead, you'd get a funky result where the last widget to set $item_count wins. Another reason why constants are used is because developers often capitalize them to indicate in code that they are once-writable and immutable after being set, and that capitalization makes it a lot easier to find inside templates. Last, you can't loop or run a lot of code with constants because the items are immutable by the time they are received in the templates, so it discourages yourself and future developers from trying to put lots of logic in the page templates -- thus making the templates easier to read and edit in the future.
User avatar
jaoudestudios
DevNet Resident
Posts: 1483
Joined: Wed Jun 18, 2008 8:32 am
Location: Surrey

Re: PHP Alternative To Trac

Post by jaoudestudios »

I could able to add to my Online Agile Task Board and slowly add features for it to cover stuff like Trac.
User avatar
volomike
Forum Regular
Posts: 633
Joined: Wed Jan 16, 2008 9:04 am
Location: Myrtle Beach, South Carolina, USA

Re: PHP Alternative To Trac

Post by volomike »

BTW, I signed up for a free Basecamp account today and checked it out. I love the marketing pages for it, and some things work sort of well, but I tell you, it's got too many quirks and I can honestly tell you I can build a more intuitive system than this.

You'll laugh when you see the URLs it uses, like when you post a message.

And why the server round trip to create a new message and to post it? Isn't jQuery + AJAX enough to make it all easy now? I mean, this is 2009, not 2007.

Oh, and it has "page wiggle" -- that thing you see when scrollbars are not turned on with centered, fixed-width pages. All browsers but FF turn on a scrollbar (they just may not activate them), and so they don't have page wiggle. In FF, you have to add this CSS to turn page wiggle off and make FF act like the other browsers:

Code: Select all

HTML {
overflow-y:scroll;
}
And the thing is overpriced in my opinion.
alex.barylski
DevNet Evangelist
Posts: 6267
Joined: Tue Dec 21, 2004 5:00 pm
Location: Winnipeg

Re: PHP Alternative To Trac

Post by alex.barylski »

I wasn`t a fan either...I found this little tool which is a little simplistic for most but it does the basic trick of managing tasks

taskfreak.com
Post Reply