Jump to content

Not sure how to do this...


olemartinorg
 Share

Recommended Posts

Hi all!

First of all, it's now been two weeks since i discovered ProcessWire by searching for "content management framework" and finding a Wikipedia article. The article mentioned both Joomla and Drupal - and other CMS/CMF-systems I have worked with before. I had never heard of ProcessWire, and gave it a try. Wow! It's really amazing! I saw the video on the front page, and I decided that ProcessWire just had to be the system I needed for this new page I'm working on.

So, why am I posting? I've been working for the last two weeks (part time), and I've all the requirements for the page - except one. It's an internal website for our company (or, to be precise; it's for one of the regional offices for a global company), and we want our employees to be able to register how far they walk/bicycle/run to work. I'm really unsure how to set this up in ProcessWire, and I'm pretty sure I have to do this with some manual PHP/SQL code instead.

So, the users on this system needs to:

  • Register a date when they have been working, and how far they have travelled to and from work
  • Preferably also register multiple dates, or a range of dates, when they have been travelling to and from work - together with the distance travelled
  • Admins may select a date range and view sorted tables of travelled distance per employee
  • Users may check their own records, and maybe compare themselves to others
  • Users may check their total distance travelled
  • Users may check their latest registered date

Gurus, what do you recommend? What is the best way to do this in ProcessWire? Should I just set this up with separate scripts and not use fields in ProcessWire for this at all? (I know PHP and SQL, so it's not a problem - I just want to do it with the help of the framework if possible.)

Thanks a lot in advance! :-)

Link to comment
Share on other sites

Hello and welcome to the forums.

I think both approaches are fine here: custom php app or using pw-templates. I would probably use PW templates here myself. If you have very data heavy application (you need to load hundreds or thousands of rows in memory, calculate/manipulate them all etc) then using "pure" mysql would be probably better option then. Not sure how much you have to scale here (like how many records you will have on your date ranges etc).

But if you decide to use PW-templates, here how it goes:

You would have template called something like "travel". There you have fields like datetime, distance, type of travel (walk, bicycle, run). Type of travel needs to be Page field, so somewhere you keep those values as pages (walk, bicycle, run).

Then you need to create page, which requires login, and has one form (log travels). This is where you build custom form where users can log their travels. Each time they fill the form you create new page using travel template. Creating pages from API is super easy and you can easily make form that creates multiple pages with one submit (or ajax form or whatever you need).

Then the most interesting thing would be to create admin view, where those logs can be searched and filtered. That would be perfect as ProcessModule. Process modules are admin pages, and they have nice and simple url routing. See my redirects module as an example: https://github.com/a...rocessRedirects

That would be it. It involves quite a bit custom coding (like with any system), but probably something that is pretty nice and easy to build with ProcessWire.

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...