dominoGuru.com

Your Development & Design Resource

Lotus Notes CMS Client Utility v1.0 on OpenNTF.org!

Lotus Notes CMS 
Client Utility I've just uploaded the v1.0 release of my Lotus Notes CMS Client Utility on OpenNTF.org - complete with a simple example website/content showing not only the simple HTML, CSS, JavaScript, XML, and other web content management capabilities, but also things like Render Kits and the lite-blogging capabilities of the application.

Synopsis

This application is pretty simple, as is it's intended job: maintain web content via some pretty simple yet reusable feature functionality, and allow you to click a single button to export the entire website to a local or remote directory.

Directory Contents post Publish - Lotus Notes CMS Client Utility

Here's a quick overview of the design of the Lotus Notes CMS Client Utility:

Content

A Content document is designed to hold a reusable snippet of markup, be in HTML, CSS, JavaScript, XML, etc.. Using the value stored in the Permalink item, your content can be keyed to copy the contents of the Content document. I use this for content that is found across many different pages that may often change: for example, if your website maintained an omnipresent web poll, you could easily create a Content document with a permalink of webpoll. Then, across your Render Kits and Pages, you could simply refer to <<webpoll>> in the markup.

Once published, the contents of each Content document is pushed to any such template-style CMS element that uses them; you can update 300+ Pages with the click of a single button!

Documents

Documents consist of the following items: Title, Description, Keywords, Permalink, Comments Enabled?, Status, Publication Date, Author, Location, and Body. They are designed to act as the default contents of the CMS, and basically can be used to create a simple weblog with the Lotus Notes CMS Client Utility.

Events

Events consist of the following items: Title, Description, Keywords, Event Type, Permalink, Status, Event Date, Start Time, End Time, Location, Hosted/Chair, and Body. Like Documents, Events are basically there to allow you to create and maintain event calendars online.

Media

Pretty simple really - think Images and File Resources.

As an added bonus, you can select from the Actions Menu the Upload Media function, which will walk you through importing a single or multiple file resource from your local machine.

Pages

There are really two (2) types of Pages: Pages and Templates.

Pages can be used to create - for example - a JavaScript Library, Stylesheet, or a specific landing page (such as index.html, weblog.html, etc.).

The powerful feature here is the ability to use Content and Render Kit content via the mail-merge like feature functionality of the Lotus Notes CMS Client Utility. Simply put, you can easily add your example <<webpoll>> to the Page!

The Template can be used as a render template for Documents and Events. You can evaluate which Documents and Events are rendered with a given Template via it's Formula item, which uses the View Selection Formula syntax to include or restrict which NotesDocuments you include when you render and export the resulting Pages.

Render Kit

Think Content that uses a View Selection Formula to set which Documents or Entries are included, and then iterates through each NotesDocument matching the defined criteria to create a large blob of markup.

In other words, Render Kits are like View Design Elements.

Here is an example of the Render Kit Formula:

<span class="entry">
<h3><<title>></h3>
<h4><<timestamp>> | <<author>> | <<location>></h4>
<span class="body">
<<body>>
</span>
<h5><a href="pages/<<permalink>>">permalink</a> | <<keywords>> | <a href="pages/<<permalink>>#comments">Comments</a>& lt;/h5> </span>

This would result in a pretty simple weblog entry.

In the Render Kit, as mentioned, I can set the View Selection Formula and the Formula for what is displayed, but I can also set a limit to the number of NotesDocuments returned and whether I count from the ubound or the lbound of the returned NotesDocumentCollection.

With this, I can do things like include the latest 5 weblogs on a page, permalink them as <<weblog_latest>> and use them on any Page.

I can also grab upcoming Events, and use <<events_upcoming>>.

I can also grab upcoming Events, and use <<events_upcoming>>, but this time on a Page named iCalendar.ics and import them into any iCalendar-friendly C&S application or cloud service!

Preferences

The Preferences allow you to set not only keywords, but also the target export directory (or Publish Location) for the CMS:

Preferences 
- Lotus Notes CMS Client Utility

Conclusion

I use this utility to run a Yahoo! Small Business Services-hosted website for my son's Football league: www.pvcubs.com .

It is a simple site, but the job is made even easier using my Lotus Notes CMS Client Utility.

If I need to make a change to a page, or make a change to the schedule that would result in me needing to change all of the pages on the site, it's a simple single-location change, Publish, and a FileZilla directory sync.

You can download the Lotus Notes CMS Client Utility v1.0 on openNTF.org right now, and as always, feel free to leave a comment with your thoughts and suggestions on new features for v1.1!


About the author: Chris Toohey

Thought Leadership, Web & Mobile Application Development, Solutions Integration, Technical Writing & Mentoring

A published developer and webmaster of dominoGuru.com, Chris Toohey specializes in platform application development, solutions integration, and evangelism of platform capabilities and best practices.



More from dominoGuru.com


dominoGuru.com is powered by IBM Notes Domino XPages & hosted by Prominic.NET

Contact Us

Use our Contact / Feedback form or one of these email addresses:

Creative Commons License

Except where otherwise noted, dominoGuru.com by Chris Toohey is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.