2016 OmniUpdate User Training Conference: Day 2

Day 2 was a lot of fun. More technical sessions and a hackathon to end the day.

Training & Herding

The presenter did an excellent job, but this one didn’t turn out to be as useful to me as I had hoped. I did stay for the entire session and did find it to be enjoyable. Many cats were used in the slides, and I did learn a lot about Arkansas.

Redesigning Your Site for a Better User Experience

This session would have been more valuable for us a year or so ago while we were forming our web team, but it was still nice to see that were were following many of their best practices anyhow. What really stood out to me was their emphasis on having a good team of people, and don’t rush for deadlines. If it will take a bit longer to get something right, then take the extra time to do it right.

One on One

Lout and I met up with our OUCampus implantation team. I was hoping that they’d go over a bit more, but we did use the time to ask them many questions. Right off the bat they packed the room to discuss with us about our production server environment.

They were very frank and shared many pros and cons of going with Coldfusion vs a more popular language (PHP). We really appreciated their attention to this matter and will share more when we get back to the team.

Development Roadmap

The development roadmap was great. A lot of the features I wasn’t 100% on when making the decision to go with OUCampus seem to be getting address in the coming year or so. That was extremely good news.

  • OCN (OmniUpdate Community Network) : email support@omniupdate.com to join
  • LDP Forms
    • new settings, elements, element properties
    • success message can work well with Google Analytics Goals
    • captcha
  • Gadgets
    • Bookmarks
    • Notes
    • Metadata API
    • create and manage persistent metadata
    • Tag Management
      • find and embed related content in XSL
  • Modules
    • OUInsights
    • OUAlerts
  • A little further ahead…
    • Image Size Sets
      • define multiple custom sizes
      • each folder can have its own set
    • Custom Asset Types
    • Custom User Role
      • very granular controls
      • Access Control Lists
      • multiple groups and users can be added to an access setting
    • Feed Manager
      • create feeds of structured content
      • send items to multiple feeds

Integrating Content from External Sources in OUCampus

This turned out to be nothing too new for me, but at least it confirms that we are thinking along the right path on how we can approach integrating content from external sources.

  • utc.edu
  • cache RSS feeds, cron job to fetch feeds to local server
  • minimize external requests
  • jQuery Social Stream
  • look for slides for code examples
  • utc.edu/outc16 – for more info and examples

Bootstrap Form Builder

This was very interesting to see just how much additional functionality could be built to work within OUCampus. The presenter really wen the extra mile.

  • customize the <advanced> xml tag
  • jQuery Validation Plugin
  • Honeypot variables
  • optional reCAPTCHA

Creating Gadgets

In preparation for the Hackathon, we attended an extended session on how to create Gadgets. Despite some horrible WiFi issues, we eventually did get the basics down.

  • what are they/do?
    • web applications
    • context aware
    • connect via API
    • extend the platform
  • github.com/omniupdate
    • gadgetlib.js (good starter spot)
    • documentation can be found in Gadget Starter
  • requirements
    • need location to publish to
    • minimum 2 files
      • html page (source code of gadget)
      • config.xml (info about the gadget)

Hackathon

The Hackathon was great. They fed us dinner, and we broke up in to teams to compete. Our group included Lou, Caleb (developer), Mark (CSS), and myself. We decided to make a to-do, task list manager Gadget.

We drew up a concept, and then divided up the tasks. I turned out to be project lead, and I thought that part went very well. We all had some very great input, and also were willing to contribute to the team in any way that we could.

A huge roadblock that we ran into however was that the development environment that was given to us was not the latest beta version of OUCampus that we we lead to believe it was. Since our Gadget relied on the soon to be released Metadata API found in 10.4, we pretty much wasn’t an hour and a half of attempting to debug and issue that was not our doing. Super bummer for us.

Once that was discovered and a new environment given, we began to make progress. Mark come up with a solid design, and Caleb was able to get a basic list to appear and communicate with the Metadata API. Unfortunately we were not able to complete our Gadget in the given time, but it was a lot of fun and we did learn a lot. Great time.

Comments (0)

2016 OmniUpdate User Training Conference: Day 1

Breakfast

Breakfast was solid. I ate a whole lot.

One Community: Endless Possibilities

This was a pretty basic kickoff conference session. They did have some humorous videos, that got some laughs.

Innovate, Create and Inspire Using OU Campus

This was a pretty solid presentation. They went over all the new features. Some of note were:

  • OU Campus for Mobile

Modules:

  • Tag Management
    • use tags to display specifics types of content based on tag
    • almost anything can be tagged
    • search by tags
    • account wide, multiple sites
  • OUInsights
    • monitors content and alerts to problems
    • regularly checks site content
    • helps make improvements
    • helps adhere to regulations
    • helps optimize for SEO
    • integrated with OUCampus
    • separate module (purchase)
  • OUAlerts
    • mobile app
    • can post updates to an alert
    • SM posts and to website, multiple channels
    • for non technical users
    • separate module (purchase)

Gadgets:

  • Quick Publish
    • 1 step publishing
    • control access by group
  • Bookmarks
    • instant access to page, functions, and reports
    • dashboard and sidebar
  • Notes

New Gadget APIs

  • Metadata API
  • wysiwyg API
  • source editor API

Lunch

Lunch was good, southwest cuisine.

Content Migration 101

The presenter did a solid job, but I was really hoping that this was more about how we can migrate to OUCampus. It was really about the migration services that they offer. He did recommend the use of 301 redirects over meta redirects.

The Latest and Greatest Gadgets

This was a cool overview of some of the newer gadgets. Gadgets covered were:

  • Dependency Tag Info
  • Quick Publish
  • Bookmarks
  • multi-site
  • Notes
  • Request Help

Responsive Images FTW!

This was a really interesting presentation. With techniques I will look to integrate. The tough thing seems to be on how to get the responsive images to work easily for an end user in OUCampus. I really need to find the slides to this presentation!

The following blog post was highly recommended to read:  https://ericportis.com/posts/2014/srcset-sizes/

Tag All the Things!

Easier way to tag content in OUCampus. I like the potential of what we could do to display content based on how content in tagged. Can edit and merge tags. Can apply Tags in Page Parameters. Auto hint of existing tags when entered.

Binary files can be tagged as well. Tags show up in RSS feeds.

XSL API has calls to work with Tags. Will have to find the documentation for this API, looks to be very useful.

Roaring 20’s Hollywood Dinner Party

We went to a dinner party at The Cicada Club. I was be thoroughly underdressed. But it didn’t matter, as it was a great time anyhow. Everyone was dressed up in 20’s attire, there was a glamorous girl in a champagne glass to great us when we entered (think her name was Bubbles), and an entertaining skit was performed during the entire night. A very unique experience.

Food was good, there was an open bar and everyone seemed to have a great time. Glad I attended, and it was interesting to see these folks in a different environment.

Comments (0)

2016 OmniUpdate User Training Conference: Travel Day

Traveling over to LA with Lou went pretty well. I woke up a little before 2:00 am with no problem. Drove over to his house and his super friendly father in law gave us a ride to the airport. We arrived at the airport with no issues, got our boarding passes, etc.

Security was a cinch too. We didn’t have to wait in line at all. I did have to be patted down (this seems to happen to me often), and Lou had to have his notebook checked out, but besides that no issues.

The flight was pretty easy. We sat next to small children or skinny women, so there was plenty of space for us on the ride. Very minor turbulence, and the take off and landing were very smooth.

The shuttle service from the airport to the hotel was great too. The driver was super nice and very fast.

However, travel and the early morning hours left me a broken man. I was dehydrated, had a really bad headache, and my whole clock was just off. Quite frankly I was mad that I wasn’t in the comfort of home for a good part of the day. Not in good shape.

After taking a very long shower, attempting to eat (it was difficult to put food down I felt so lousy), and drinking water constantly I eventually got close back to being my normal self. Oh and I no longer curse California to hell as I’m now feeling a lot better.

Later in the day we had the conference registration where I got some cool long sleeve tech shirt thingy. Might be good to go running in on colder days. We also had a little area for people to play huge games. A massive game of Jenga, Operation, etc. It was pretty cool, and we were able to meet a lot of people from other schools. Though I was still feeling pretty lousy and probably said some very strange things to some of the folks.

The Millennium Biltmore, the hosting hotel is pretty unique. It’s very old and really sums up the golden age of Hollywood. Very glamorous and you can tell it must’ve been a very big deal back in the day. The only drawback is that our rooms are pretty old too. But alas, I just need a place to sleep so I’ll live.

Comments (0)

Front-End Web UI Frameworks and Tools

I just completed and enjoyed the Front-End Web UI Frameworks and Tools on Coursera. It’s part of a Full Stack Framework 6 course specialization.

I’ve taken a couple of courses through Coursera, with some being great and others not so much. This course specialization has been pretty great so far. The courses are very well organized and the instructors do a pretty solid job. They even are very active in the discussions (you’d think it’d be a given, but it’s not).

I’ve been very impressed and am looking forward to the next courses in the specialization. Particularly the angular.js and PhoneGap courses coming up. Good stuff.

Comments (0)

Append DOM to Another Page Using YQL

Apparently there is a data limit to how much we can fit into a content field on our CMS at work. The problem was that there is an incredibly long list of donors names, and when saving the edits to a page in the CMS, it just wouldn’t save past a certain point in the list.

So, I was a bit stumped on how best to workaround. So, I created another page with a good amount of the names in an unordered list. I then used YQL to create a REST query that would output only the HTML on the page that I wanted into and XML feed.

1
select * from html where url="http://www.a_web_page.com" and xpath='//*[@id="main"]/ul/li'

I’m not too sharp on my xpath selectors, but luckily it’s very easy to find an xpath using Chrome. Just right click on an element in the inspector, and the option is there. Huge timesaver!

Ok, now I had a REST query courtesy of YQL of the HTML elements that I wanted to take from that page.

Next was to load and append the data from the REST query onto the unordered list on the other page.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$(function()
{
    $.ajax(
    {
        type: "GET",
        url: "https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D%22http%3A%2F%2Fintraweb.stockton.edu%2Feyos%2Fpage.cfm%3FsiteID%3D221%26pageID%3D271%22%20and%0A%20%20%20%20%20%20xpath%3D'%2F%2F*%5B%40id%3D%22main%22%5D%2Ful%2Fli'&amp;diagnostics=true",
        dataType: "text",
        cache: false,
        success: function(xml)
        {
            $(xml).find('li').each(function() { 
    			$("#main ul.append-list").append($(this));
			});
     }});
});

Using the jQuery library I was able to load view the ajax function the REST query. I had to choose the dataType of text not xml in this case. That way I was simply appending the results as they were in the REST query.

I can clean up the javascript a bit, and will work on that. However for now, I am able to add data from another page to work around the data limits of the CMS.

Comments (0)

FileMerge

I had to compare 2 hefty directories, and was looking for a slick Diff tool to help me out. I really was looking for something with a slick GUI to help me sort through my potential mess of code and files.

After a bit of searching I realized that I had FileMerge already on my Mac as part of Xcode.

Once I fired up FileMerge all I had to do was drab the 2 directories I wanted to compare into each side of the GUI, then run a comparison. It was exactly what I needed for this task and saved me who knows how much time.

Comments (0)