Jump to content

Tools (Checkboxes, ..) building and Site-structure


Recommended Posts

Hello guys! 

First of all I'd like to thank everyone here for helping, being active and making me love this CMS.
I used it at work for a website and directly fell in love with it. Therefore I am now planning a few things and I was wondering what the best way to implement them might be. :)

1. This is kinda hard to explain. Maybe the easiest way is to think that I want to "track" a users progress. 

To make it easier to understand let's assume I have "Series" (Information about this series..) and "Episodes" (Information about this Program/Episode). I know from Drupal there is "Entity Reference" and so on... BUT in Processwire I would go with the page-tree "flow": 

- Home

  - Series

     - NameOfSeries

           - Episode Foo
           - Episode Bar

     - NameOfOtherSeries


As this worked for me quite well I want to play with another feature. It's "subscribing". A user can add a series to his personal lists to keep getting updated and "save" the current status (In this example maybe a watched episode count..). 

The only way I came up with is to create a Page called something like "Favorites" and each Subpage contains an ID, Episode Number, Name of Series, User, 

That wouldn't be that hard to implement. Afterwards I can simply search through the Subpages and find users that watched episode X, users that watched series X, etc.. whatever I want to track. 

The problem here is that I want to plan for the near future and say: 

2,000 "Series"

30,000 "Episodes"

50,000 Users

Plan A: Each User tracks 20 Series = Would be 1 Million Subpages ONLY (!) if I track a user <-> series relationship.

Plan B: But If I want to track a user <-> Episode relationship (which is in my opinion the way I want it to work) the following would happen... Again 20 Series.. with a little math.. are something like 300 Episodes PER user. To sum it up: 15,000,000 Subpages. 

So.. I really like this system but I think it will meet it's end here. Does anyone have an idea how I would be able to implement such a system? 

2. On many occasions I found out that I need a few checkboxes. Now I want to represent them with Pages (read this somewhere that it's nicer and as far as I understand processwire I like this approach) but I don't know how to "set them up". How do you guys manage this? 
A "tools"-page with Subpages that for example (again series/episodes from above) contains the checkboxes?

- Home

  - Tools

    - Language

       - German

       - English

    - Duration

        - 10 Minutes

        - 20 Minutes

    - Genre


Or do you have any other/better ideas? 

3. Are there any good SSO solutions for Processwire in connection with a forum software? 

Best regards,


PS: I don't know if this is the best place to ask. I tried forum search before but it didn't really return things that helped me. Also maybe it's better to split this in two separate Threads. If so, feel free to do it or just tell me/pm me and I will change it ASAP. :)

Link to comment
Share on other sites

For question #1, there's a less complicated way to go about it.  Create a Page field called "Favorites" (or "Subscriptions").  Templates allowed for this field should be: episode, series, and whatever else can be favorited.  Add this Favorites field to the User template.  Program the feature as needed.

For question #2, the approach you outlined is pretty correct and the ProcessWire way of doing things (or you could also use Options Fieldtype, but I don't prefer it).  I personally call it "Options" instead of "Tools" and pluralize the option types (Languages instead of Language, Durations instead of Duration).  Then create Page fields as necessary.

  • Like 3
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

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...