Good day,

I have a project which I am almost positive Drupal 8 would be a perfect candidate for, but I would really like some expert opinions before I commit to using Drupal as a CMS solution.

The client (we will call him Tom), is a Freelancer. Tom's job is to manage, and review his client's visa documentation (think passports, drivers licenses, birth certificates). Tom is currently having his clients email him their documents. Tom then uploads these documents to his Google Drive, updates his list of "documents this client needs for a complete visa file" , and emails the client the status of their visa documents. with 2-3 clients, this works fine, but Tom is now receiving 15-20 clients at a time, and managing their different accounts is becoming cumbersome.

Tom wants to create a website where users can log-in to their accounts, upload their visa documents, and view their uploads, as well as comments made about the files by Tom. Tom needs to be able to view each clients documents, and leave some sort of feedback about them for his users to see. Clients should only see their documents, while Tom should be able to see all of his clients documents. A chat feature would be helpful, but not a core requirement.

Would Drupal 8 be able to handle such requirements? If so, what modules should I be looking into in order to create such a site? I have a lot of dev experience, but still not savvy enough on Drupal's modules ecosystem to know what to use, and why to use it. From what I have researched. I could accomplish much of this using Views and Panels (I may be wrong).

Any advice or guidance in this matter would be greatly appreciated

Very Respectfully,
Robbie

Comments

pixelsweatshop’s picture

This is an easy fit for Drupal. Just set up file fields and comments on the user account. Use the rules module to email client when tom comments on their stuff and vice versa. Also emails tom when a new doc is uploaded to their account. Use views to build a list of all clients and their docs. No panels needed either.

haki-projects’s picture

Thank you so much for responding! So to make sure I am understanding things:

1. it is possible to tie fields (in this case, file fields and comment fields) to each user's account
2. we could then use these fields to allow users to log in, and upload files to their user account (does this mean I DONT have to create a specific content type to support this and I can just append more fields on the user's account?)
3. Tom can log-in, and using views he can see each user, and a list of the documents they have uploaded.
4. Tom can choose an item from any user's list, comment on the item.
5. using the Rules module, we can trigger an email notification to be sent to Tom and the Client whenever a new comment is added.

Please let me know if I am interpreting this the right way. If so, I am going to start looking into step 1: customising the user account.

pixelsweatshop’s picture

1. You won't be able to add comments per field. Just comments for the entire profile. Take a look at the comment field module. This may give you what you need but might be tough using rules with it. Never tried but this is where I would start investigating. If not you may have to use the profile module and create a profile per doc field.

2. Correct

3. Correct

4. Correct

5. Correct.

haki-projects’s picture

So I'm discovering a lot based off of your recommendations. In terms of implementation, would it also be possible to:

1. Make a content type (we will call it VisaType) for uploading a general visa document with the fields: Name, type (taxonomy term), uploader (private and hidden), File (via file module)
2. allow users to upload VisaType content
3. Create a view for users where they can only view VisaType content with their uploader name attached
4. Create a view for Tom where he can see all VisaTypes, but sorted by uploader

I feel like, in theory, this seems possible. and it would allow for Tom to add comments to each VisaType document upload.

If anyone sees any "gotchas" with this that I am not thinking about, please do not be shy!

pixelsweatshop’s picture

Content types are overkill for this because of all the properties that come with it (publishing options, menu settings, aliases, etc). You also need to limit how many the user can create.

WorldFallz’s picture

I tend to agree-- although I have handled this use case with content types in the past, I wonder if file_entity might not be a less complex way of being able to have comments on files.

pixelsweatshop’s picture

I thought of the same thing. He could use the entity comments module to add commenting to file entities. The only issue is sending clients to different places to comment. I think keeping it simple by using the comment field module on the user profile is the simplest way for users to interact. If for example there are 5 required docs, add 5 comment fields all on one entity.

haki-projects’s picture

Would I have to create a file field for every file I am expecting? or would the file field allow for multiple uploads to one user profile. I ask because the amount of files each user must upload will vary between users.

WorldFallz’s picture

You can do it either way. I think nicoz is probably right, just add a multivalue file field to users and enable commenting on the user entity with the comment field module.