Jump to content

Elliott Carter, composer


Macrura
 Share

Recommended Posts

COMPOSER ELLIOTT CARTER (December 11, 1908 - November 5, 2012) is internationally recognized as one of the most influential American voices in classical music, and a leading figure of modernism in the 20th and 21st centuries.

https://www.elliottcarter.com/

This site was launched some months ago, and was one of the larger projects I completed so far. It took about 4 month to build. (PW 2.7.3)

This was the first project I used the wireRenderFile() pattern on, and it consequently allowed me to reuse a lot of output code, as well as do a lot of markup/object caching with wirecache. The site uses DataTables for all of the major listing pages, Works, Discography and Events, allowing users to filter and search with no page reload.

This probably has the most advanced caching setup that I've done so far, and one example of how it works is on the discography page: https://www.elliottcarter.com/discography/

That page has to hold all 264 albums (json object which is rendered by dataTables), and each album takes a bit of processing to render (formatting of works, artists etc.).

The json for each album's list view is wirecached individually and is generated on visits to the individual album pages, so that they never get generated all at once when visiting the discography page. The complete json object containing all of the albums is also wirecached, then the final page is pro-cached. The album covers are lazy loaded so as to not affect page size or load speed. The selects on the left are also all wirecached as page or regular arrays.

This results in a 1.6s page load time and a page size of 1.12 MB. Without the data being wirecached the load time is around 9 seconds to generate the page, probably longer if it had to regenerate all 264 albums, but the album info never changes, so they are permanently cached unless someone edits one.

Also should note that since there is so much use of wirecache, @Soma's Clear Cache Admin was pretty much indispensable for managing all of the caches.

Other features of the site include extensive use of Schema.org microdata, an events submission system, and a lot of custom stuff in the admin for managing the content, such as automated fetching of album covers from Amazon, converting formbuilder submissions into events, a custom admin dashboard etc..

There are probably 60 modules in use overall, but these in particular saved the day:

  • MenuBuilder
  • AdminCustomFiles
  • AdminPageFieldEditLinks
  • All the Selectize modules
  • URL checker
  • PrevNextTabs
  • WireMailMailgun
  • SetupPageName
  • Changelog
  • AdminCustomPages
  • Twitter Feed
  • Social Share Buttons
  • RSS Enhanced
  • Chosen Select
  • Runtime Markup
  • Batch Child Editor
  • Tracy Debugger

As well as all of the pro modules (ProFields, FormBuilder, ListerPro, and ProCache).

More info, screen shots etc will be gradually posted here...

  • Like 20
Link to comment
Share on other sites

Nice and clean! Thanks for the insights.

2 hours ago, Macrura said:

The json for each album's list view is wirecached individually and is generated on visits to the individual album pages

I've used a same approach on my very first PW site with the difference that I saved the json on saving the page (and it was for filenames for a JS slider with many images).

  • Like 1
Link to comment
Share on other sites

41 minutes ago, tpr said:

I've used a same approach on my very first PW site with the difference that I saved the json on saving the page (and it was for filenames for a JS slider with many images).

right, i will probably switch to that way, since it's definitely more efficient.

Link to comment
Share on other sites

  • 4 weeks later...

wow thanks guys for SOTW (news 128)  :rolleyes:, had completely missed that somehow! 

Also forgot to mention the credits page https://www.elliottcarter.com/credits/ where thanks to all forum members, and a few folks who really made this project possible during it's development and helped me on the forum, and also just by their modules and/or advice, @ryan, @LostKobrakai, @Martijn Geerts, @adrian, @teppo, @netcarver, @horst, @kongondo, @Soma

(and at some point i still have to figure out how you make those cool images with the screenshots/devices, always have trouble with that...)

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

  • Recently Browsing   0 members

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