Blog

Currently the posts are filtered by: Technology
Reset this filter to see all posts.

Happy iPad Day!

I think it would be fair to say that there is some excitement in the office today over the release of the new iPad.

Magento ECommerce Forum - You're Invited

Magento ECommerce Forum

On February 23, attend the San Francisco eCommerce Forum, where you will learn how Magento can help your online business succeed. This informative event is sponsored by Magento and Magento Solution Partner Infield Design. ECommerce decision-makers will gain a general understanding of Magento and how to build a profitable online business.

Magento will provide an overview of Magento Enterprise and Infield Design will give an inside look at how a small agency provides Magento solutions for its clients. Afterwards, join us for networking over appetizers and beer from our neighbors Anchor Brewery!

Here's the schedule:

2:30 pm: Check-In

3:00 - 4:00pm:
Magento presentation/demo

4:00 pm - 5:00pm:
Appetizers and networking; vegetarian options and non-alcoholic beverages available

Location: Infield Design

This event is free of charge but you must register to attend. Because we keep these events small, space is limited. Please register now to secure your spot.

REGISTER HERE

Cross domain proof of concept with TYPO3 eID and jQuery

I just wanted to post a quick blog to share a small snippet of code that I'm working on to solve an issue with cross-site scripting restrictions, a solution to a very practical and real-world problem.


The (example) issue: A carpet company has a wide network of suppliers, each of which give the carpet company a basic (HTML/CSS/JS) page to put some content about the carpets, prices, contact information, company policy, etc. All of this information is available in the carpet company's TYPO3-powered website, and it's updated and improved regularly by the carpet company staff. Ideally the carpet company would like to have the updated information displayed on all supplier websites automatically. How can this be done? With TYPO3 and a bit of jQuery, we can quite easily achieve a workable solution!


Given in our hypothetical situation we are limited to HTML, CSS, and Javascript, one solution that comes to mind is using Javascript to pull in the desired content from the main carpet TYPO3 site. This can be accomplished using JSONP. For those unfamiliar, most browsers enforce a same-origin policy, which prevents us from making a simple AJAX call to get our desired data, so a site such as http://www.acmefloorsuppliers.com couldn't make a "normal" AJAX call to www.acmecarpets.com; it would be blocked by the browser. So instead, we essentially dynamically load a remote Javascript file/object/JSON, and then evaluate its contents. The magic here is that we pass a parameter to the remote server, which is a function name that the JSON return value is to be wrapped in. So, for instance, the GET string might be something like:

(acme carpet domain).com?eid=id_ajax&value=somevalue&callback=callback123

Our server side code on acmecarpets.com will return what is essentially a function call, like this:

callback123({"results":{"somevalue":"some return value here"}});


In the example below, I'm using jQuery (which I really love by the way!), which automatically takes care of the heavy lifting for us. It will automatically define the callback123 function (in reality this function name is automatically and dynamically generated by jQuery in the example below) and we are left with JSON to work with in our callback function.


Here is a working example in which individual content elements are pulled from tt_content based on their uid (which is what we're passing in with the GET parameter). Note that this is more of a proof of concept, and not a production-ready snippet. The server side code I wrote does a very minimal amount of security validation - without proper care, this type of script can be dangerous, so ultimately it's up to the developer to insure safety. The server side code only checks to see that the fe_user is not set for each content element. This example is also not particularly scalable, however it could be much more so if the server side code were fleshed out further. Also, this will NEVER be a great solution for any sort of crucial data. In my example, I have default content loaded in the event that the script fails to load external data; and in our carpet store example we might have a set of default information that is displayed, so in the event of a javascript (or external server) failure our distributors still have the critical information.

Enter list of content element IDs to load dynamically (ie 206,201,169)

submit

Example content from different origin/domain (it might look familiar!)

This is some fallback content that will be displayed if the client has javascript disabled or if there is some issue connecting to the third party TYPO3 site.

 

If there is any interest in implementation details, or how exactly I wrote my server side code, I will write another blog post going into a bit more detail! Additionally, if anybody has any general ideas about how to go about this task without reinventing the wheel (perhaps this sort of functionality is already built into TYPO3 somewhere?), I'd love to hear it. Down the road I intend to make a version of my server side code which pulls out tt_news or tt_calendar items, but I'm unfamiliar with the inner workings of each of these extensions and am new to development within the TYPO3 ecosystem so would appreciate any pointers!

Flash for mobile: Sencha Animator

Michaele Buble, Beringer Winery mobile introduction

When a client requested an iPhone/iPad compatible version of a Michael Bublé promo site for the Beringer Winery, we needed an efficient way to implement a base animation without getting into jQuery hell--implementing the existing flash animations in a javascript framework would be time consuming and put us over budget.

Enter Sencha Animator

Sencha Animator is a desktop application that creates CSS3 animations for WebKit browsers and touchscreen mobile devices. Not all platforms are supported, but those with the largest current market share are iPad, iPhone, iPod touch, Safari, BlackBerry Torch, Android, and Chrome. The platform question comes up a lot and it seems like the bigger the client, the more out of date their technology (can you say Home Depot in IE6?) But with WebKit controlling about 70% of the US mobile market, and its share of the mobile market growing, it is a good base line.
The Sencha Animator timeline interface will be familiar to anyone with Flash experience. Using the same assets that were generated to produce the original Flash introduction, we were able to create a functional prototype in hours as opposed to days. The final results were predictable and easy to integrate into the mobile view of TYPO3 and Magento.

Still in beta (regular beta, not Google-beta) Animator is already solid performer. Developed with hooks for advanced interaction by the group that has brought us ExtJS & Sencha Touch, Animator’s future is bright. We’re looking forward to the fit and finish the production release will bring.

TYPO3 Chicago CMS Expo Recap

It was an interesting few days at last week's Chicago CMS Expo. It was rewarding to get such a variety of CMS users and developers together in one place. It was a great mix of persuasive demos and end-user horror stories, which all came together to offer a good view of strengths and common pain-points that organizations are experiencing in the CMS space. But for us it just reaffirmed the advantages that TYPO3 has as an enterprise grade system.

We shared a lot of information about TYPO3 and it was good to see so many walking around with TYPO3 lanyards. The conference is in its fourth year and is made up of a friendly group of people that skewed toward small businesses and municipalities with small projects. There were a handful of developers but mostly business people attending some of the sponsored tutorials.

The conference has its roots in Joomla, so Joomla was well represented on both the speaker and attendee side. In the talks there was an open source slant. For instance, Microsoft was represented and is making a serious effort to be relevant on the LAMP stack. Drupal had a good showing with an interesting keynote from Dries Buytaert for Aquia discussing open source learning from proprietary CMS.

TYPO3 Booth

We had fun spreading the word about TYPO3, and we discussed features, gave some demos, then pointed people to the demo installer and the getting started documentation. Several visitors to the booth noted they'd heard of TYPO3 and had come by to learn more, which represents a huge shift in perception from OSCON in 2009, where the common comment was "TYPO3? Never heard of it."

Presentations

Benni Mack gave a couple of scheduled presentations, one of which focused primarily on features popular in enterprise implementations: AP/Active Directory, large administrative team management through workspaces and versioning, security, stability, backwards-compatibility, extension compatibility, release cycle.

Panels

TYPO3 was represented three CMS evaluation panels—Business, Government, and Education—where moderators and attendees asked the panel questions on the different verticals. I had the opportunity to serve on the "The Right CMS for Education" panel, along with representatives from projects like Plone, DotNetNuke, Freedom CMS, Umbraco, and Terminalfour. There was a lively debate between us, covering such topics as Access control (ACL) and single sign-on touching on the ever-popular active-directory and LDAP, and some of the less known standards such as Shibboleth and JASIG.

Competition between projects

We were able to tour a few other CMS projects, and it was interesting to see what people are doing. Everyone emphasized ease of use, but in reality, there was room for improvement all around. There was some healthy competition between projects, most notably between Joomla and Drupal.

Next year, we are looking forward to going back next year with more people to make a bigger impression and watch as TYPO3 catches on here in the US. In the meantime, I will enjoy catching up with some of the same attendees at T3CON11 in San Francisco, June 9-11, 2011.

Copy and paste this link into your RSS news reader

RSS 0.91Posts
RSS 2.0Posts

Categories