Archive for Tech

dotCMS 1.9 Upgrade Preview

// October 23rd, 2009 // 8 Comments » // Software, Tech, Web

The upcoming dotCMS 1.9 update is still at least about a couple months away from release (give or take), but the current SVN trunk code is already starting to shape up with a lot of the upcoming enhancements.  After testing out some of the new code, I thought it’d be worthwhile to share some screenshots and descriptions of what to expect, because it’s not a little change by any means.  The current release of dotCMS is 1.7a, with a 1.7b maintenance patch currently on the roadmap sometime soon.  1.8 is not being skipped, but instead, because of the number of changes that were slated for 1.8 and how they tied to 1.9, they’ve just rolled the whole series of updates into one big 1.9 upgrade rather than have two important updates come close together.  1.9 is likely to be the final big update before 2.0 (at least according to JIRA currently).  So, the future currently looks like 1.7a -> 1.7b -> 1.9 -> 2.0.

If you want to try out what I’m describing below, the code is available in SVN (linked above, username and password both dotCMSUser).  I recommend using it with a PostgreSQL database, as that’s what they develop on, and other databases might not be fully tested yet.  I want to serve up an initial warning too, that this code is absolutely not ready for a live environment.  I don’t mean that from a casual, you might hit an esoteric bug here and there way – I mean it in a you can’t run a web site on this code yet way.  There are a number of features coming that I couldn’t preview yet (like binary content fields in structures and some permissions options), because they flat out aren’t working yet.  I hit a number of areas with those kinds of problems, so keep that in mind if you want to try it out; still very alpha and still very under construction.  But, it doesn’t hurt to familiarize yourself with upcoming changes, since if you’re like me and running a huge site in it, it can be helpful for planning your upgrade path.

One of the big, less visible changes was moving to the Dojo framework for all the Javascript stuff done in the back end.  This is readily visible when you go to log in, as the login block is now a modal window, and you get a nice login progress bar as the back end loads.  This is just shouting for the addition of Google Gears support (a  la WordPress. I actually started work trying to build in Gears to an earlier release, but had trouble with the amount of Javascript used in the back end).  Even lacking Gears, the back end is noticeably faster and more responsive to the user.  This may have other repercussions if you’re a heavy Scriptaculous user, but I don’t know yet, so just be aware that they are moving on to a different framework for the future.  But more to the point…

Website Browser…holy crap it’s different!  Indeed, the whole admin interface has been redesigned and also made i18n compliant (that should make you international folks really happy).  This is similar to the change that took place when the page preview area was redesigned for 1.6.5.  Navigation wise, everything is still very much the same, so you don’t have to anticipate relearning everything luckily.  Basically it’s just got a new skin over the top to make everything look nicer and navigate better.  But, if you have a lot of lower level users, you’ll certainly want to brace them for the change, since just looking different might confuse them, even if stuff is relatively in the same place.

Content SearchThe content search page is a good example of the updated look, but it’s still very much familiar when compared to the old layout.  Same search boxes, same basic results table.  Some things like the “Show Query” button have moved to a more useful location.

Syntax HighlighterSo,  you can add content the same old way, and the familiar TinyMCE interface is there.  But gone are the Text and WYSIWYG tabs at the bottom edge of the field, replaced by a WYSIWYG toggle button.  Click it.  Do it.  I DARE you.  Yes, that is just what you think it is, the old, plain “text” mode has been updated to include a syntax highlighter and line numbers.  I think I’m crying right now, I’m so happy.  This definitely ramps up the usefulness of the text editor several degrees, and will make editing VTL files so much nicer.  Hopefully this is implemented everywhere you have code editing fields.

PermissionsStructure PermissionsRole Permissions

One of the most substantial changes was to the permissions system.  Gone are groups.  Instead, roles now control everything, and they are hierarchical.  The role manager has been completely updated to reflect the changes, and allows you to list users by role (yes!).  You’ll also see improvements to how permissions work related to different parts of the system.  The 3 factor (view/modify/publish) permissions have been dropped in favor of task specific permissions, and also user specific permissions as well.  One thing that I’ll be interested to see is how the upgrade process handles converting groups into roles and maintaining things coming from 1.7a sites, especially large, complex ones.  I envision this being an opportunity though to redo permissions in a much more efficient way.  It’ll be a lot of work I expect, but well worth it.  Be sure you keep this change in mind when upgrading, since it will have probably the most profound and widespread impacts to how you work in the CMS (Content Management System).

Form ManagerOne of the other big changes is the addition of a form manager.  Instead of the complicated, inflexible form submission process used currently, a new structure type has been added that combines with front end content submission.  That makes three different structure types (content, widgets, forms) to choose from now, and greatly enhances the collection of data from users to repurpose elsewhere.  Now you also can leverage all the power of structures for data collection.  Like permissions, converting to the new system will involve a lot of work, especially if you have a lot of forms, but it will likely be well worth it, since it makes nearly every process of form use easier and more powerful.

That’s your initial look at the system.  I’ll do a more thorough review once the code gets closer to a beta release and is more functional.  For now though, I think it’s clear that this coming update is one of the biggest, if not the biggest update that we’ve seen for dotCMS to date.

dotCMS Cheat Sheet Released

// September 16th, 2009 // 4 Comments » // Software, Web

dotcmscheatsheetHey everyone.  Just a quick hello to let you know that I’ve put some work into releasing a dotCMS Cheat Sheet for everyone to print off and use as a quick reference for a lot of basic tasks and variables.  This is up to date with the latest 1.7a open source release.  I hope to do a more advanced cheat sheet later to follow up this one.

If you like the cheat sheet and want to say thanks, please consider buying me something from my Amazon Wishlist or making a donation via PayPal below. Thank you very much those of you who have been supporting the effort I put in to dotCMS!





Download v1.0 of the sheet here

Follow me on Twitter for more updates! Also feel free to leave comments and suggestions for modifications to the sheet. I’m already working on revisions to the current sheet, and a more advanced sheet.

Help me find a telescope

// August 9th, 2009 // 1 Comment » // General, Tech

Eyepieces

Eyepieces

As a kid, I was an astronomy nut.  I wanted to be an astronomer, and was learning all things space.  As I grew, I got out of that phase, though I still retained my interest.  About six or seven years ago I managed to lay my hands on a serviceable 8″ Meade Newtonian reflecting telescope for $20 at an auction.  It was older, and made from a kit (cardboard tube, not aluminum, and clearly put together by hand), but worked well enough aside from the dec. motor having a gear broken on it.

A few days after buying it, I got a call from the former estate owner.  They had come across a set of eyepieces to went with it, and wanted to send them to me, no additional cost.  That was where I really scored.  Nine eyepieces and a stack of color filters, including a very nice Plössl and Super Plössl (there was also a laser illuminated reticle, but it was missing the laser).

The telescope itself wasn’t bad.  You could easily pull out cloud bands on Jupiter, and the ice cap of Mars.  Saturn’s rings were no challenge, and I even picked up  a comet and a nebula or two.  The problem was the finderscope didn’t have an eyepiece, and the area to thread one in was dented.  The spider support for the secondary mirror was actually broken, and I had realigned it and epoxied it in place (this only worked marginally well, and currently is rebroken).  And lastly, the tripod was just a nightmare.  I know tripods are heavy and all, but this one was also probably twenty years old, and was very much steel and very much lacking in the subtle refinements of tripods today.  There was also some play in it, so if you got something in the eyepiece, you had to be careful as not to lose it while tracking it, because you had to overadjust to have it stop where you wanted.  All told, it wasn’t particularly portable in the least.

I still have the scope, but it’s not really so usable these days.  And last night I caught myself with my binoculars outside looking at the moon and Jupiter.  I think I want to get myself a brand new scope, but need some advice on what would be the best choice for me.  I know the rule “get the biggest mirror you can afford.”  Bigger mirror, more light to gather.  Obvious.  I’ve seen a lot of suggestions on Google that Dobsonian reflectors are popular for a nicer amateur scope these days.  I’d like to be able to use all my old eyepieces if at all possible, most of which are Meades (not sure how interchangeable they are with other brands of scopes).  I could also sell them on eBay, and use the winnings to buy eyepieces for a new scope.  Here’s some wishlist details

Wants:

  • Compatible with my old Meade eyepieces
  • Computer controlled motors (like Autostar or similar)
  • 8″-10″ mirror
  • <$1000
  • Reflector of some kind

Nice to have:

  • Somewhat portable (like, the scope can be easily cased, and the tripod collapses or similar)
  • Laptop connection
  • Auto-tracking of targets (I think this would come with the computer controlled motors in the first place though…)

I’m not looking at getting into astrophotography or anything at this point, and don’t have the equipment for it even if I wanted to.  I just want to be able to see the planets, maybe a galaxy or two, and be able to do it without a ton of setup time.  I’d like to get into something better than what I had previously.  Obviously, I won’t be seeing anything real deep field for the most part, but it would be nice to see a handful of the more common and popular Messier objects in enough detail to tell what they are.  So, what would be good for someone like me?  I’m open to all suggestions, or information on how to make the best informed decision on buying a good scope.  I just have been out of the nomenclature and technology long enough to know that I have a lot of research ahead of me I think.

Two dotCMS Plugins Released

// March 11th, 2009 // 5 Comments » // Software, Web

With the plugin architecture in dotCMS launched with the release of the version 1.7 release candidates, several of us are getting started testing out the water.  To get things started, I’ve released two plugins this week you can download and install.  Nothing huge, but hopefully helpful to some folks.

XMLTool Plugin

Example of the reCAPTCHA

Example of the reCAPTCHA

The XMLTool plugin creates a view tool that gives you access to the Apache XMLTool class so that you can import and parse XML data into an HTML page.  This allows behavior similar to XSLT (eXtensible Stylesheet Language Transformation), so that you can manipulate and transform the data in an XML document into XHTML.  All you have to do is drop it in and deploy it to get access.  Full details, download, and an example can be found in the forums.

reCAPTCHA Form Verification Plugin

The second plugin is integration of the reCAPTCHA API (Application Program Interface) into the form handler so that if you don’t like the built in captcha generator, or prefer reCAPTCHA’s, you can use it with this.  It creates a new Struts action and macro, combined with a modified version of the submitWebFormAction class.  As with the XMLTool, download, example, etc at the forums.  This takes just a couple changes to a form to use: you need to point the form action to /dotCMS/submitFormRecaptcha and drop the recaptcha() macro somewhere inside the <form> tag.  Additional documentation is in Macro Help after you deploy it.

If you’re using dotCMS, give the plugins a download and try, and let me know what you think.  Also let me know if you have problems.  I am aware that the XMLTool complains about its scope at startup.  It will run normally though, but I am trying to see what’s up with the scope to correct that warning.

dotCMS Plugin Joyfulness

// February 6th, 2009 // 3 Comments » // Software, Tech, Web

After some trouble fighting wih OpenJDK vs the Sun JDK, I’m ready to get my brain soaked with information on the upcoming plugin architecture in the 1.6.5c patch here at dotCMS Boot Camp.  Note on the previous comment: don’t use Open JDK, save yourself some trouble.  If you are interested in plugin development, be sure you’ve taken some time to familiarize yourself with Eclipse, and obviously you need to be familiar with coding in Java.  Plugins in dotCMS finally allow customization of the codebase without having to go in and edit core files for your system.  This will help make updates in the future substantially easier, as the core engine never has to be changed.  This is the same model most other open source systems use (think WordPress, Joomla, Drupal, etc).  These other systems can be extended through plugins without ever doing anything to the system itself, so when you update, you don’t have to worry about needing to merge hundreds of lines of different code.

If you want to get started until the C patch is out, just grab the codebase from the testing branch on SVN.  Also, if you use Ant in Linux, make sure you get the ant-optional package as well.  The Ant tasks are smart with the new setup, allowing you to completely override default actions in the system, like if you want to create your own form action that uses /dotCMS/submitWebForm, the process of building out the plugin will override the default actions in that Struts path.  If you want information on all the Ant tasks available within dotCMS, just run ant -p.

So, what can you extend with the plugins? Plan on being able to mess with macros, Struts actions, viewtools, language files, web.xml, Hibernate, and property files.  Create tables, add fields to structures, and allow for plugin version checking.  Basically all in all, a tool that’s gonna see a ton of use.  You’ll also be able to tie into hooks for content.  Right now that’s the only one, but more will be added as needed.  Something else that will be very useful is deploying all your server settings as a plugin, instead of changing config files and having to update the settings every time you do an upgrade.  Or, if you were moving servers, or going from a test to a live server, you can just lift the settings plugin you create and drop it right where you need it.

Plugin functionality can be downloaded over SVN from https://svn.dotcms.org/branches/releases/1.6.5 if you want to get in and start playing with it.

AJAX (Asynchronous Javascript And XML).  There was a session on using AJAX with dotCMS involving DWR and EXTjs.  Really, the most important thing I came away with is that I’m not doing AJAX that way.  It’s simply too involved and I don’t personally have the time for it.  But that’s just my opinion.  Chris Falzone of Edinboro had a pretty simple solution involving jQuery tied to a page that just processed queries with the SQL macro.  That is a pretty painless, and easy method of essentially accomplishing the same functionality, and do so with far less JavaScript.

Okay, everything gets rounded out today with a talk on the future plans for dotCMS.   Some of the 2008 milestones: 1.6.0 and 1.6.5, the calendar, widgets, eCommerce, low level optimizations, simplified install, starter site, and the documentation site.  For 2009, some of the goals are: release of enterprise vs. open source branches, plugins, and release 1.7 (which will debut the plugin architecture and officially fork the enterprise and OS branches) and 1.8 (another note, dotMarketing is aiming on 2-3 version updates a year, with 6 months being the longest they plan on having between releases). 1.8 will introduce binary content for structures, improve functionality of the owner field, automatic content saving/drafting (in case your computer crashes in the middle of editing, etc).  Another goal: permission simplification.  It will, of course, retain the power and granularity, but adds in the power to group edit and improve the UI for working with them.  Look for improvements to multi-site hosting, mostly in terms of UI for people who might be hosting hundreds of sites in one instance of dotCMS.  They are working on push publishing, which will add the ability to send rendered pages off to other servers, as well as do things like clone one dotCMS server to another.  There are plans for several improvements to forms: new handling options, action chaining, etc.  Expect improvements to web services to extend the system.