hello,
so, i have a new project and i'm just in the initial planning stages. i have it mapped out what the client wants. now i just need help to figure out the best way to go about doing it.
the gist is, basically, pre-determined users will have accounts and login to a permission-based section of the site. from there, the users will be filling out a couple forms daily & weekly to collect data.
the user should be able to save their report (form filling) and return to it at a later time if they need to.
once the form is submitted, i need the info from the form to be shown in a sortable table that not only the user can re-see but also the managers can log in to see at any given time.
so, of course there will have to be a list of some sort of the completed forms to choose from to view.
additionally, they'd want to have the option to download a CVS file of the data.
oh, and also, in the sortable table view, they want the option to collapse certain columns to hide them from view to have an "optimized" or "summary" view of the data.
and here's another kicker, they also want certain parts of the data that refer to the date and brief info about that day to show up in a calendar view on the main page after initial login. and of course, still permission based, so each user will see a summary glimpse of their month, but each manager will see the same for every user (color coded).
LOL - yeah, probably over my head & bit off more than i can chew.
there's other stuff too, but that's for future devel. things like a file repository and discussion forum.
so, basically, for all you ModX guru's out there - can this be done by using ModX (Revolution/Evolution?) and any of the add ons? or is this gonna have to be a "custom" job?
any "reasonable" advice would be MUCH appreciated.
please no slandering, pretentious, or sarcastic remarks. looking for honest help/direction.
and i KNOW i've got a LOT to learn.
peace:jason.
-
☆ A M B ☆
- 756 Posts
In short yes this can all be done on either version of ModX, recommended Revo, however in either case I'm not familiar with a single extra that would meet all those criteria, not that I know them all, and sounds like it's detailed enough from the client that specific functionality will need to be present for the project to be successful, thus custom development.
The good news it that there are lots of us ModX developers right here in these forums to reach out to and including the ModX partners list as well.
Evo Revo // Ubuntu, CentOS, Win // Apache 2x, Lighttp (Lighty)
Visit
CharlesMx.com for latest news and status updates.
-
☆ A M B ☆
- 318 Posts
I agree with charless, this would be quite feasible in MODX, and you should probably use Revo because of the more advanced permissions features.
The formIt addon might help a lot with the form processing part. However, you will probably have to do some custom snippet development to get it working exactly the way you want. There's also an addon for managing logging in from the front end, and you can redirect logged in users to their own homepage.
The collapsable tables and calendar view sound like they should be done with JavaScript, perhaps using AJAX to pull the data. You could put a getResources call inside a script to build an array of URLs to pull data from. Or you could just call getResources directly on the page to output all of the data straight up and then use JS to modify it after the page renders, it all depends on how you want to do it.
I'm not sure how to do the CSV download, but MODX is very flexible in terms of the format of your output. You could probably do it with a custom content type and an appropriate template.
-
☆ A M B ☆
- 2,475 Posts
You'd need to do some meaty coding to do the "Form to Database" thing there. I've written that type of Snippet for a couple different projects, and each time, the exact implementation was different enough that it couldn't really be re-used as an Add-On. You can write a Snippet and use it as a hook for the FormIt Snippet. You need to be very strict as to which fields are being stored because your form fields will likely have to match up to your database fields *exactly*. OR.... you need to encode the fields submitted as a JSON array and store that as a generic "payload" field in your database. This makes it difficult to search on that data, however.
Hopefully, that's not too geeky. It was pretty fast to set this up in MODX if you know what you're doing, but it's a big learning curve to jump into the xPDO schemas and MODX API-methods necessary to pull this off.
Charles, Freejung, & Everettg_99: THANK YOU for your responses!!!!! very helpful.
it's an interesting situation, too long to go into here, but my hopes are that there will be some money available to get help from one of you brilliant folks; but that probably wouldn't be till january at the earliest.
in the meantime, i think i'll go ahead and get REVO installed & initially setup.
this'll be my first REVO - i've always just used EVO.
so, i'll post back when i have more info or questions.
Merry Christmas!
peace:jason.