For those interested, I’m doing some tagging of useful links from the conference over at del.icio.us, under the tag “openminds2008.” Here’s the page. If you are/were there, by all means add to that list any stuff that I missed, or things in sessions that I wasn’t in.
I started the day with the session on developing dynamic pages. This was the first of two parts, and dealt largely with using macros that they have built in to pull in and create things like photo galleries, MP3 players, navigation, etc. Their photo gallery macro is interesting in that it uses Lightbox (or a close relative thereof) as the basis for galleries. Personally, I like that. What this raised to me was that you could actually build your own macro around the more useful Thickbox system, allowing much of the same functionality, and a lot more. Unfortunately, I haven’t yet dove into the creation of my own macros. I’m now interested in trying that out though.
They also took a moment to show some of the upcoming WebDav functionality that you can use to bulk upload things like photos or videos. This is done in Windows by adding a network place and pointing it at http://www.yourdomain.com/webdav. However, this functionality is not officially supported just yet and is still beta, but will be eventually (maybe in 1.6? I’ll find out in the roadmap session tomorrow if I remember). It is controlled via logins and roles like the file browser in the back end of dotCMS. Generally, files uploaded this way are only saved, not published (though there appears to be a bug where something can publish if you have the permissions to do so), and there’s no confirmation as to whether or not WebDav could enforce file type rules, though it appears initially that it will return a 400 error if you try to upload a file that isn’t permitted due to restrictions defined in the CMS (Content Management System).
We also reviewed info on the video player and video gallery macros, which appears to use the standard Dreamweaver player wrapper (or something similar). If you are in need of a free FLV converter, the Riva FLV Encoder was recommended. I have not used it, however. There are plans for building some conversion utilities into dotCMS that would automatically encode AVI’s and MPG’s into FLV’s (a la YouTube or Google Video), but no timeline is currently available as to when that might be available.
On the audio side, the current MP3 player is a little basic, but there are some new features there that are in the Trunk that should make it in to an upcoming release. That will be nice to see. I’ve been using the systems that have been created at jeroenwijering.com. It sounds like they are going a route to provide functionality similar to that, only better. Their mp3PlayerExtended() macro actually is based on the jeroenwijering.com player right now. Their upcoming player is apparently being developed in house. A demo wasn’t available at the moment.
The rest of this first session was spent in the demo site looking at examples. For the most part, you can see what they did there, it’s pretty straight forward, and get the gist of what we were learning. They did confirm that on the video players, if you leave out either a height or width variable, it scales proportionally. So, that’s nice to know.
And now: LUNCH.
Post lunch, part two, should be more useful as I am familiar with macro usage already, and this should be more advanced stuff. It’s chilly in here, for those keeping score. But the weather is awesome. I digress. Hopefully they will make their powerpoint presentations online. I know that they are recording these sessions, so at some point you should be able to go watch them at their site.
This is a look at part of what makes dotCMS so powerful, creating custom views based on structured queries of content. If it is content in the system, and you have read access to it, you can create a scenario to view it. What is great is that using the built in content search, you can use that to create the queries and copy and paste them into a macro. No need to actually know any Lucene (though learning a bit will help you make more complex queries, as I have discovered). I tagged a Lucene syntax guide in del.icio.us if you want more information.
They noted while talking about relationships and details pages that the use of “inodes” as a query variable will be phased out in favor of “identifiers.” Mostly the same thing, but clearer and easier for users to understand. Worth mentioning, because that’s goofed me up in the past, and it appears they are in the middle of a transition there. Documentation will eventually reflect that change across the board. Other upcoming changes include granular permissions on categories, and being able to require categories on a piece of content.
Beyond that, it was a lot of practical examples regarding pullContent() and pullRelatedContent(). Most of this I am well familiar with, and I finally got my answer about paginating pullRelatedContent() results: wait for 1.6, heh. That will prove very useful though. The macros, tips, and tricks guide should be helpful in showing most of what the examples went over though, so I’ll refer you there.
The last session that you’ll hear about before I take off for some one-on-one work and dinner is the session for building a blog in dotCMS. That was part of what inspired my question regarding paginating related content, as I was trying to build a blog using relationships. I feel good, because the work I did on my own matches what they are describing, relating blog entries to a blog structure, so I was definitely on the right track. dotCMS can essentially work exactly like most other blogging tools out there (think Wordpress or TypePad). The catch is that you just have to write the tools to do it yourself. This amounts to a couple structures and a couple pages of Velocity code. It sounds crazy that you have to make those tools yourself, but it turns out to be very easy. Naturally, they have a blog on their demo site that can get things started. Once you understand structures and relationships, following the bouncing ball to how that evolves into a blog isn’t difficult. Where Wordpress uses The Loop, you just use a pullContent() macro and a foreach() function in dotCMS for essentially the same thing (well, not exactly, but close).
As it turns out, you can also pull in content from the file cache without hitting the database by using the getContentMapDetail() macro, which I could see being very useful. That would allow you to essentially remove the need for database requests for older content, or content that never changes.
Okay, if you’re still reading, go outside and get some sun or something. Today has been good. I look forward to some more advanced stuff, if not tomorrow, maybe next year. I’ll hit you with some new stuff tomorrow though (look for plenty of details on the roadmap hopefully). By the way, if anyone who is/was here is reading, be sure to look me up over on the UWebD Ning group or on my LinkedIn profile. Viva information sharing.
Posting tweet...
1 comment so far ↓
Hi webmaster!
Leave a Comment