Please advise me in what way it is better to fullfill the following task in Modx Revo.
I wand to make a site with some kind of resumes from visitors.
A pretender to post his or her resume fills in a form on the site (name, age, skills. photo etc). Administrator receives this form and either approves it or declines. When the form is confirmed it appears on the site with the corresponding fields filled in. Filtering on these fields (name, skills etc) can be done in the catalog of resumes.
Is there any snippet or plugin to transform submitted forms to pages in modx revo.
Thanks for help in advance.
The easy way would be something like the NewsPublisher package, which presents a form based on the fields and TVs (custom fields) of a resource and saves the new resource when the user hits submit. The resource can be saved as "unpublished" and the admin can approve it by publishing it.
A more complex, but more flexible approach would be FormIt, and Formit2Resource.
The hard part will be filtering the results.
If you will have many resumes, you'll be better off (in terms of performance and ease of filtering) creating a custom database table to hold the data rather than shoehorning it into resources. In general, resources are meant to *display* complex data, not to store it.
I've got another idea.
If i use newspublisher I'll make users register to write resume. What if i do not use news publisher - i'll just use those registration profiles as resumes and add several fields to user profiles.
Then the questions remain whether i can use getResources snippet to get and sort user profiles.
And is there a way to assign custom fileds to a group of users so that when a new user registers he/she will already have that field ready?
getResources will only get resources and their TVs, however there is a Peoples package that displays users and snippets for handling the Profile in the Login package.
The down side of this is that, like TVs, filtering by user extended fields is very slow and inconvenient.
To add a new extended user field to the profile of new users would take a plugin, but a fairly simple one.
Actually, if you're willing to get your hands dirty, the way to go is probably to create a new class that extends the modUser object to include the extra fields or (probably better) a separate class called modResume that is a related object of the modUser object. See this:
http://bobsguides.com/custom-db-tables.html