A client of mine asks the following (and I am not sure if kirby might be the right tool for that):
He wants a website where
his clients can login
each of his clients have their own projects page
each project should be its own page …
… to this projects the client & website-owner should be able to add texts, images and videos (probably as documents / file upload)
to each of these documents the client and website-owner should be able to give comments (also with text, images or videos )
My first guess would be to use RAILS with AWS-S3
My client proposed a wordpress theme for that - I am absolutely not a WP fanboy, and actually I am not familiar with it (I love kirby for its simplicity!!!)
I have actually built something similar to manage my clients. They can each login and only get to pages related to them. It’s a way for me to share stuff with them and provide copies of past invoices and stuff. It’s totally do able, and not all that hard.
Is it possible that the client only sees the Front-End (after login -> redirect to his projects-page) and to place upload-forms etc. to his project-page ???
Yes, that is possible, you can create users without Panel access. However, instead of recreating forms on the frontend, limiting Panel access to only a particular page and its subpages is probably easier.
What you can also do is have a login form on the frontend that redirects to the Panel user pages after the user is successfully logged in.
ok got it working. But I want to return a parent()->parent() page, how would that be possible.
so I have a Project page which shows it’s Subpages (Steps) as a list. Each Step has Subpages (Tasks) and lists them out. Each Task has Messages saved in a StructureField.
so on the Project Page I have Steps containing task where each Tasks has a Form for submitting a comment. This forms have an action to the Task Controller as ‘Post’ Request.
Now the controller saves the submitted message in the StructureField as intended - but returns not to the Project-Page but to the Task-Page
=> I would like the Task Controller to Return the Project Page which is the Parent()->Parent() Page
(If that makes any sense ) [ Projects / Steps / Tasks ]
I’m a bit surprised that this works if you don’t have a task template but only a controller. I think your form handling logic should either be in the controller of the page where the form is actually shown or in the snippet that renders the forms. After all, you need your messages to be shown directly in the page.
However, having multiple identical forms with the same submit value in the same page won’t work.
Is there a way to render a different page from within the tasks-controller (eg the parent()->parant() page) ???
(maybe the redirect-page could also be submitted in the form ?)
How, in this setup, does the user know that the comment was successfully created? How does the user know if an error occurred? It looks as if this information is not returned to the user?
Yes that’s true, but good enough for the time being.
The page get’s reloaded with the new content (new message). And it works from all pages [ Projects / Steps / Tasks ] with no extra cost.
If there is a better solution I would really like to know.