My guess is that you might end up with challenges in the following areas:
1) If tasks are entries in a library (types in a table), then you won't be able to reorder them by drag'n'drop, though you might be able to reorder them in another way.
2) Moving tasks between lists can be simple; just flip a Radio Button, and that can be editable in a list, but it's not drag'n'drop.
Bottom line, you can do most of it, especially if you know JavaScript and use radio buttons and checkboxes, editable in lists, heavily, along with sorting, filtering, and grouping. I suggest a task and project are the same thing, with a switch that essentially turns the rest of the project stuff on and off.
Trying to do something like GTD, I've had some success with using Trello for that, but it won't satisfy your Nice To Haves, either. If you want to roll up your sleeves, you could try either straight JavaScript Web pages or Drupal; I don't think Joomla would get you there.
I would suggest too to get started learning memento and asking questions as you go along.
I love memento. Now that it has a cloud and PC version.
J
The features that should be developed are recurrences of calendars events and synchro with Google Calendar.
Any way GTD is not about the app. It is about systematic weekly based review of things to do, delegated, and to throw away.
To me there's nothing like making your own. You'd be surprised at what you think you need vs what you can use if you can design it yourself.
Once you get it the way you want and realize upon using it for a few weeks you decide that's not exactly what you use you can change it with memento.
You can fine tune it. Sure you may give up some stuff, some of the important requirements you thought were important. But with being able to get it exactly the way you want you realize you have something valuable.
And with the cloud feature, being able to capture files and images and PDFS and all attachments you have it all.
That's all I have for now.
project - task - child task - child2 - child3 - result - remarks - next
memento database is still the best. yet i dont know how to use it.
I find the journey even though it's time consuming is time we'll spent.
I don't really know what you want and it's terribly complex to go back and forth trying to discern your requirements since they are from the very beginning.
Try one of the task libraries and pick it apart to learn from it or even use it.
var days = field('DAYS TILL DUE')
if (field('Job-status') == 'DeathClaim') 'DeathClaim'
else if (field('Job-status')=='INBOX') 'Inbox and File'
else if (field('TODAYS ACTIONS')) '!!! TODAYS ACTIONS !!! '
else if (field('Job-status') == 'D - PROSPECT') 'PROSPECT'
else if (field('context') == '@Shopping') 'Shopping'
else if (days < 0 && days >= -5) '0 - 5 DAYS PAST DUE - REVIEW'
else if (days < -5) '00 - OVER 5 DAYS PAST DUE'
else if (field('Due') && days == 0) '1 - TODAY'
else if (days == 1) '2 - TOMORROW'
else if (days >= 1 && days <= 7) '3 - THIS WEEK'
else if (days >= 8 && days <= 14) '4 - TWO WEEKS'
else if (days >= 15 && days <= 21 ) '5 - THREE WEEKS'
else if (days >= 22 && days <= 30) '6 - FOUR WEEKS'
else 'REVIEW AND FILE'