notes from Amy’s tech fair session

Interesting – embedding GDocs, esp spreadsheets, as an alternative to building tables.

Combining separate blogs – could that be used for admissions (recruiters w/separate blogs)?

Academic terminology: “jigsaw teaching” – each student takes an aspect of the program & teaches to others? (like a version of Mrs Lauderdale’s way of teaching Great Expectations way back in 10th grade, but not lame.)

Aggregation in combo with categories? Huh. (WordPress is so cool.)

“A leaf on a tree” – relationship of posts to the main page. Love it.

 

Getting a rhythm down

I’m starting to get the hang of setting up structured content in Cascade! It’s a PITA, but can be routinized.

Experiment in oXygen to get the gist of what I want.

Figure out which things should be in the data definition and which things should be in the metadata. (It irritates me greatly that these two pieces are separate from one another.)

Set up the data definition.

Set up the metadata set.

Set up the configuration set. Have discovered that I really like the “calling-page” index block that I learned in training for the DEFAULT area. FWIW, have also discovered that I can’t get the XML configuration working in Global. ๐Ÿ™ So I have a testing “Site” set up on the dev server for doing the initial version of all of this. Which has the added benefit of keeping separate from all the existing site cruft.

Set up the content type.

Set up the folder & create the first item.

Copy the XML into oXygen, edit the XSLT to match the final product. Copy the XSLT into a format, edit the configuration set to apply the format. Tweak as needed.

If I need a list of items, which so far is always, create an index block of one sort or another, grab the XML, do XSLT in oXygen, etc. Create a page to hold the list, add block to “generated content” area, apply format.

Copy data definition XML and final XSLT files back to local drive.

Go into Global of dev server and do all that setup again, this time, copying and editing the relevant existing configuration set (to get the right template & all that). Tweak everything again as needed until it looks right. Save files locally again.

Once more, with enthusiasm…this time in the correct location on the live server. (Or if I need to show something before creating it in someone else’s folder, set up a folder & pages inside webresources.) Send for review, tweak, etc.

When everything is final, create the asset factory. Make sure to make the base item inside whatever _internal folder applies AND to set that item to not be indexed (in case you’ve got a content type index block). Asking aloud: if the base item isn’t set to be indexed or published, does that mean that new items created from it aren’t either? Hm.

Wondering also about adding index block pages to a publish set. Should that be part of the process, or should I leave it to content creators to publish the index when they publish the item? (Alternatively, any way to trigger publishing?)

I should probably just copy all of that into the team wiki and clean it up a bit. Pretty decent documentation, if I do say so. It’s convoluted, for sure, but not totally horrible. So far I’ve managed to avoid Velocity, which I found actually more annoying than XSLT. I didn’t think that was possible, but there it is. Mainly, I’ve worked out converting dates via an external XSLT that’s bundled in the common folder. (It doesn’t work at all locally, and I can’t for the life of me figure out why.) We’ll see what happens when I try to actually create a calendar.

decrufting

I’m thinking that’s actually what I need to focus on inside Cascade. There’s a lot of cruft, a lot of built-up weirdness. I’m not quite sure how to start with that, except maybe by using the Sites feature and rebuilding the main site entirely from scratch. (Eeeep.) Which involves some planning: what pieces of content are native to Cascade? Which ones “live” elsewhere? Should the elsewhere bits be imported as actual Cascade assets, or just displayed & linked? What kinds of content are being created? How can they be made easier? Etc., etc.

Analytics help (some), although partially by pointing to the need for some content that doesn’t yet exist. Really, that clear explanation of who we are, what we do, what the (current/prospective) student might do (either while here or afterwards).

The catalog; the “academics” page; the “studies” page. Those are the core of what’s used on the site. (The main site, anyway. My.e.e, admissions.e.e, library.e.e, and blogs.e.e — those have their own issues. The most important bit in blogs is academic computing’s site; admissions needs to come back into the main site (IMHO) and my.e.e is a whole other thing.)

Speaking of which, I really need to get better data on the admissions site.

Cascade “Bootcamp” Tidbits

To upload a bunch of images (or other files) at once, go into the folder, select Tools > Zip Archive. etc. etc. Works quite nicely!

Inside CSS, can have Cascade manage locations of referenced images: url(‘[system-asset]/_files/images/bg01.jpg[/system-asset]’) and so on. (But in “Edit > System” must check “Rewrite links in file”)

I really wish there was a tooltip next to “system name” when uploading a file that actually SAID that it’ll take the file’s name if you don’t fill it in.

Thinking that the switch to Sites should NOT be done automatically, at least not for the main site. So many things we could be doing so much better.

Is there any way to make the text editor window automatically just a bit bigger w/out going fullscreen?

So in Sites (vs Global) a Content Type is required?

I would really like it if the Data Definition builder forced the no spaces in identifiers. Because seriously that’s the third time I’ve created a data definition with a space in a field ID, and I don’t realize it’s broken until I go to actually create some content & get a damn error.

I really wish this was three (?) half-days that started at a reasonable (PDT) hour and ended at a reasonable (EDT) hour. Getting up at 5:15 is catching up with me.

Really thinking about how to generate a dynamic side navigation rather than having people edit XHTML blocks for navigation.

Still don’t quite get when you’d want to set blocks in the template vs configuration set. Template: that block will ALWAYS be in the same spot in the template. Config set: you might want to change what goes in the various system-regions of the template.

Configuration set can include multiple outputs for individual pages. (That PDF etc that Susan was on about.) And on a page that’s a listing of things, that could theoretically include an RSS feed of those things. No need for two separate files.

When do you use Velocity vs XSLT?

Day 2

Dynamic Fields in the metadata sets – why these vs data definition fields? He explained how they’re different, but not why.

Metadata fields, Visibility “inline” = on the actual content creation page.

We’re not using the “link” content type often enough, as far as I can tell. (My.e.e probly being the prime example.)

Most of today’s stuff was either a repeat of yesterday or things I’d already worked out. I would like to take a look at the other kind of index block, though. And I’m definitely thinking about how to create a non-manual navigation.

Workflow still doesn’t make any sense.

Something I tweeted today: What [redacted] does well, from I can tell: speedy for visitors, easy to see what content is in your site, fine-grained access control.

A related tweet from @eaton: Drupal = rich content modeling, WordPress = great OOB workflow for river of news, Rails = better for pure RESTful apps/APIs?

And the rich content modeling is what I’m trying to get out of Cascade. I would push for Drupal instead, but I don’t know how to get it to do the things that Cascade does really well, which I think are all really important.

Hm.

Yak shaving, of a kind

I need to set up an experiment in Google Analytics…which as it turns out is super-easy. (Much better than the old version!) Except I need to have a goal set up to be able to launch the experiment. And for this particular project, I need to have automatic event tracking set up. Which I just started testing yesterday. So I have to wait for people to visit the pages with the test and either download files or visit external sites. Sigh.

I guess if I get to the middle of next week and it’s pretty clear that the test isn’t working, I can set up the tracking manually on the specific links that I need tracked. Which isn’t a great option, but whatever works?

On the other hand, it’s not entirely ready to launch for other, unrelated, reasons. So I can be patient.

(FWIW: Yak Shaving. I don’t know why I was thinking that post was by Tim Bray, when it’s actually by Seth Godin. Maybe I got to it from Tim Bray, waaaaay back in 2005?)

Google Analytics thoughts

I’m adding a tracking code from my own account to this blog, to be able to share that info with other blog users. (Got a request to get reports. Seems like ppl being able to look at their own reports would be more sustainable, possibly more useful.)

At the same time, I’m working on analytics things for the main site. I really want to get automated event tracking working; it’s funny, I’d gotten used to that being part of a module in Drupal. I found a decent-looking bit of JS, but it works with the newer asynchronous setup, which means changing the template, configuration sets, etc., etc. ๐Ÿ™ Need to figure out the best (least cumbersome + not breaking stuff) way to switch over.

I’ve also got a huge year-over-year report that I’ve built by hand…which was useful, but holy cow labor-intensive. Took me most of July to figure it out with June’s data. That’s not sustainable. The best idea that I have so far is do something like that once a quarter, and then spend the rest of the quarter exploring what comes out of it; either researching why something might have changed or changing content to improve a stat. Or both, I guess. It really is all about turning numbers into action.

That and I also need to get better funnels set up.

Sigh.

Had to remind myself yesterday, when I was in a bit of funk, that it’s a marathon, not a sprint. I’m planning on being here for a while, certainly, and sometimes it’s better to take my time and really figure something out. Certainly better than freaking out.

Two months

This morning doesn’t feel like a great time to be posting a note about having been here for two months…I’m super-groggy this morning, starting the week with a sleep deficit; the weather’s very gloomy for July; CMS2 isn’t working; Susan’s out of town, and I’m feeling somewhat adrift.

And yet…I’m still glad to be here.

Webinar: Summer of Learning (HTML5) session #1

Gah, I hate the idea that HTML5 is a catchphrase, and not simply a spec. :\

Nothing new to me here.

Still sad about HTML5’s loosey-goosey syntax. (anchor tag wrapping around multiple block level tags?!)

shim/shiv and/or modernizr. (I should probably go look at modernizr again. altho…interesting, it adds classes to the body to say what is & isn’t supported.)

Homework! “make the drink once you finish the assignment.”

Music to code by

Today’s version: Pandora “Erasure channel” – 80s synthpop like woah. OMD, New Order, Depeche Mode, Duran Duran, Pet Shop Boys, Human League, Eurythmics, Soft Cell… It worked for me.