Jump to content

Large collection of items


kasperwf
 Share

Recommended Posts

Hi all

I don't know how to go about making this very specific thing in PW, so I'm hoping for some good pointers and/or ideas how to go about it.

On this website I'm building for a music festival, there's a page called "archive". This page should list lots and lots of media clips from the past years from the festival. A media clip can be either a video (vimeo), music (soundcloud) or a picture (upload through admin).
I have all the API access to the third parties figured out, but the one thing I can't figure out is how to design the media "resource" in PW.

I've read that repeaters are bad for performance if you need a lot, so that leaves a repeater solution out of the question.
Another solution I thought about were a page template with all the necessary fields for all of the different media types, but I'm thinking it'll create a unnecessary and unpleasantly long list of children in the admin interface. Also, each media clip doesn't need their own url, since all of them should be viewed/embedded in a Lightbox overlay.

So what do I do? Should I create a custom module to store all the clips in and have an area in the admin to manage the clips separately and then just retrieve them in the archive page, or do you have any good ideas for me?
Also, if the module method is the way forward, does anyone knows a good resource for me to start with? It could be a module like the one I need, a tutorial or anything that'll get me on my way.

I hope for some deep PW knowledge getting dropped in the answers, like I'm used to in here.  :rolleyes:

EDIT: Also, each media clip/item should have some common fields defined:

  • Type of content (Art, architecture, music, etc) (selected from a predefined list of genres, which also should be administrated somewhere)
  • Year 
  • Genre (selected from a predefined list of genres, which also should be administrated somewhere)
  • Artist
  • Location
  • File type (video, sound, picture) (selected from a predefined list of genres, which also should be administrated somewhere)
Link to comment
Share on other sites

Definitely pages. You can have one template for each kind of object, or even one template for all of them and use checkboxes and field dependencies to show only the needed fields. If you don't like to have them on the pages tree you can create a custom admin page, or even use the lister module, to list only the entries.

Link to comment
Share on other sites

Thanks for the fast answer diogo! I really like the simplicity of your suggestion.. a lot!

Do you have a suggestion how I go about creating a shared genre-list, file type-list, etc for all these pages? 

Link to comment
Share on other sites

For genres, types and stuff like that the best way is to also make them pages and then reference them using a pagefield on your resource template(s)

@diogo , I was thinking Lister as well, but is this already publicly available?

Link to comment
Share on other sites

True, still not, but according to this tweet https://twitter.com/processwire/status/459005804516241410 it will be very soon :)

But anyway, lister would be only one way of doing it. You can create a custom page that lists all the articles very easily, or you can also create an admin page with a tree that only displays the parent that you want for example https://processwire.com/talk/topic/6520-pagetree-as-a-markup-module/?p=63831.

Do you have a suggestion how I go about creating a shared genre-list, file type-list, etc for all these pages?

 

You can create these under different parents and link to them with page fields. Kongondo wrote a great guide on categorising content in PW https://processwire.com/talk/topic/3579-tutorial-approaches-to-categorising-site-content/.

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...