I’ve been working on a project that involves the use of CMSForce and since that’s a fairly new offering from Force.com Labs, thought I’d share my experiences so far. The install itself is easy enough, but there are a few post-install instructions that need to be followed for it to work, so be sure to download the documentation available on the AppExchange and read through it.
To use CMSForce, you’ll either need to use one of the Page Templates that comes with the application, or create your own, which involves Visualforce. The idea behind CMSForce, as with any CMS application, is that those templates can be created by someone more technical, and then anyone can go in and create new pages or adjust existing pages without needing a background in Visualforce, HTML, or style sheets. CMSForce definitely accomplishes this, and anyone willing to spend half an hour to an hour getting up to speed on it should quickly be able to start making use of the Sites functionality now native in the Enterprise version of Salesforce.
For the graphic design of the Site I did, my client already had a non-Salesforce web portal whose style they wanted to mimic, so all I had to do was create a Zip file of the CSS and image files (maintaining the folder structure on the web server), upload that as a Static Resource and then refer to the style sheets in the Visualforce Template. And the voila, standard HTML tags like <h1> (heading 1) now display with my client’s branding.
The Page Template is what it sounds like, it provides the styles and the frame for the page, which can include header, footer, menus, etc. In the Visualforce for the Template, you can insert Content Block components which are the placeholders for the content that users will be able to provide. From there you create Page records, which become individual pages in the site. Users then have the ability to update the content in each Content Block within the Page using a GUI editor. One page can be identified as the Home page and is the default when users go to your Site URL without specifying a specific page.
Once you have a Page Template and one or more Pages with Content Blocks created, you’re ready to set up a Site to go public. Once again, just read through the CMSForce documentation for all the configuration that needs to be done.
I’ve hit 2 issues that I’m still trying to resolve in this process. First, the content within the Content Blocks looks great in the preview but isn’t displaying in the public site. This I’m sure is a permission issue, and fortunately one of the Sites PMs from Salesforce will be helping me resolve that tomorrow. If this is a shortcoming in the documentation, I’ll be sure to post the resolution here. The other is that I created Visualforce page to display data from Salesforce and used that as a Page Template, and it isn’t functioning as expected in Sites. I suspect this has to do with the fact that my page is embedded as a component in another page, so once I figure that out I’ll post what I’ve learned here.
Revision 8/26: both of these issues were, predictably, due to user error- I hadn’t realized that CMSForce wasn’t deployed yet. Once deployed, everything works as expected!
All in all, another solid application from Force.com Labs.