The SilverSmith Framework: Code Right. Type Less. Build Fast.

11 Apr

I’m very happy today to release a preview of a project I have been working on for several months under the working title “SilverSmith.” SilverSmith is a framework for building SilverStripe sites that provides code, template, and content generation tools using a YAML configuration file. I have been using this tool on several projects and it has saved me volumes of production time by cutting out all of the repetitive tasks involved in building a SilverStripe site. I’m really excited to share it with the community and get some feedback.

In the following series of four screencasts, we’ll look first at an introduction to the framework, followed by a demonstration in which a sample project is generated in less than 30 minutes. Lastly, we’ll look at content and navigation generation and more advanced features of SilverSmith.

Special thanks to Marcus Dalgren for his support, both financial and intellectual, on this project. It couldn’t have happened without you!

 

Part 1: Introduction and Basic Usage

This tutorial is an overview of the SilverSmith framework, demonstrating basic usage. We’ll create a couple different page and data types and build out a some templates using the YAML configurator.

 

Part 2: Building a Sample Project

In this screencast, we build an entire SilverStripe project using the SilverSmith framework in less than 30 minutes. Note: time is compressed into a fast-forward during periods of extended typing, so the duration of the video is much shorter than real time.

 

Part 3: Navigation Fixtures and Content Seeding

In the third part of the tutorial, we’ll build out the site tree navigation for our sample project and use content seeding to fill out the CMS with default content in order to give our site some substance.

 

Part 4: Advanced Features

This final part of the tutorial looks at advanced features of SilverSmith, including creating standalone DataObjects, updating SiteConfig, and using the YAML as a project-wide configuration tool.

 

Have a site that you want SilverSmithed?

Contact me at unclecheese@leftandmain.com with a description of your project, including any HTML templates you have. Your project could be chosen as the subject for the next SilverSmith screencast!

29 Responses to “The SilverSmith Framework: Code Right. Type Less. Build Fast.”

  1. Dave 11. Apr, 2011 at 2:22 pm #

    Wow, this looks really nice. Can’t wait to test drive it. Keep up the great work!

  2. Andrew Houle 11. Apr, 2011 at 3:51 pm #

    Dude, this looks great! Brilliant project, and I love the name. Do you have a timeframe when we might be able to give this a try?

  3. Steffan Harries 11. Apr, 2011 at 4:28 pm #

    This does indeed look really nifty. I could easily see myself using this!

  4. alex 11. Apr, 2011 at 11:45 pm #

    it has been such an inspairing screen-casting i have been followed so far. Such a great job for creating the [silversmith] framework.
    IT defintely will save heaps of web-developing time for developers.

    Seems, it could be create great static CMS Fields and realtionship as shown in the demo.

    So, is that possible using YAML for creating your customized functions or methods?!
    Or the idea is creating the site-backbone using silversmith framework then going to edit each .php code under mysite for adding different functions in controller.

    Anyway. Well done unclechess. you are the star!!

  5. Matthias 12. Apr, 2011 at 2:36 am #

    Looks like another amazing UncleCheese-Product. Can’t wait to give it a try…

    @UncleCheese: If you need a translator into german for this or another module, I’ll be more than happy to contribute!

  6. Stijn De Lathouwer 12. Apr, 2011 at 3:01 am #

    Wow, my jaw just dropped. This just looks great. I guess it will install like a module per site you create?

    Really looking forward as to how this develops further. And can’t wait to try it out, obviously.

  7. Jimi Youngs 12. Apr, 2011 at 4:37 am #

    Would be great to see this as an optional module in SS 3.0.

    When you have a release, and the SS devs are closer to 3.0, I wouldn’t mind looking into HTML5 and CSS3 with legacy and mobile browser support.

    :)Great job!

  8. Gav 12. Apr, 2011 at 6:05 am #

    This is awesome, best thing I’ve seen re: CMS development since SilverStripe. Love to try it out one day.

  9. Neil Creagh 12. Apr, 2011 at 6:13 am #

    Great project. This should be part of Silverstripe 3.0, complete with a GUI for the YAML. Silverstripe take note – this is how to make the CMS much more popular with designers and front-end developers.

  10. Rui Isidro 12. Apr, 2011 at 10:24 am #

    Great! This will revolutionize the development with Silverstripe. Keep up the great work. If you need any help on testing this tool, just drop me a line! I’m looking forward to use it.

  11. Dalesaurus 12. Apr, 2011 at 12:22 pm #

    I really like where this abstraction is headed and agree that some components should be evaluated for possible Core features of SS3.

    A public library of YAML snippets (Gist or pastebin style) would be a huge boon for shipping out SS + SSF sites!

  12. Wilson 12. Apr, 2011 at 1:42 pm #

    Wow! I’m blown away. UC does it again!

  13. abyys 12. Apr, 2011 at 3:14 pm #

    Hi,

    amazing what you are pulling out of the Silverstripe CMS. Really hope some of your latest contributions and work will make it´s way into the future Silverstripe 3.0 version.

    Keep on rocking.

  14. Frank Mullenger 12. Apr, 2011 at 8:44 pm #

    This looks awesome UC, nice work, can’t wait to try it out.

  15. Ricardo Cardona R. 13. Apr, 2011 at 8:20 am #

    @Unclechesse really an amazing job, others asked you of include a module of core part in SS3.

    Is it possible to have SilverSmith module in SS 2.4.x?

    I could help translating it to Spanish or testing.

    It rocks!

  16. Silas 13. Apr, 2011 at 4:25 pm #

    I can’t wait to try it out!

  17. Lamin Barrow 13. Apr, 2011 at 8:16 pm #

    Sweeet. This looks great Aron, you deserve the Silverstripe community hero award for the decade for sure. :)

  18. Rob 14. Apr, 2011 at 8:55 am #

    Looks awesome! Great job on the video’s too – very clear and informative. Looking forward to trying this.

  19. Adam 20. Apr, 2011 at 10:01 pm #

    Dude. That is insane. Can’t wait to get my hands on this… it’s been asked before – but any timeline on release for SilverSmith?

    SilverStripe is a great CMS. You make it awesome.

  20. Ali Robertson 26. Apr, 2011 at 7:38 am #

    Looks awesome, just a few ideas:

    – If not already declared, declare the variables for has_one and has_many separately. In the generated code section, ‘push’ items into those declared arrays. This will allow devs to come in and do their usual thing without mucking up the generated code.

    – Do the same thing for getCMSFields(), but call getGeneratedCMSFields() instead.

    This would allow devs to muck around with SilverSmith generated code in a more familiar way.

  21. wainui 03. Jun, 2011 at 9:47 pm #

    Mean :) Love it

  22. KristofV 05. Jun, 2011 at 9:53 am #

    I want I want I want!!
    Seriously, can’t wait to get my hands on this. Amazing work!

  23. Arth 10. Jun, 2011 at 5:49 am #

    It looks pretty good! I can’t wait trying it

  24. Mint Design 28. Jun, 2011 at 8:08 pm #

    Hi UC, this looks great. Will it work with SS3?

    • cuSSter 11. Aug, 2011 at 2:38 am #

      W.O.W. Can’t wait to try this one out! Kudos UC!

  25. Catalin Cimpanu 23. Nov, 2011 at 7:41 pm #

    Will SilverSmith be open source at any point? Or will it be a commercial product?

    • unclecheese 24. Nov, 2011 at 2:40 pm #

      We still don’t quite know the details of how that will all work, but I can say almost certainly there will be a variety of flavors, both open source and commercial.

  26. Will 16. Oct, 2013 at 7:05 pm #

    Thinking about using this for a project next week. Good idea? Or has SilverSmith been abandoned a bit?

Trackbacks and Pingbacks

  1. Your SilverSmith Questions Answered | Left and Main - 25. Apr, 2011

    [...] been quite taken with the stir that has been created off my recent preview of the SilverSmith framework for SilverStripe. Naturally, a lot of you have questions, many of which I have answers to, while [...]