Had to pass this great video and cause on to everyone. I love Khan Academy and I think its cause is the future of learning. Join the cause today!
Page layouts are arguably one of the best features to be introduced into WebSphere Commerce. They allow the marketing staff to quickly change or schedule the layout for page types or the entire site with a few basic steps. What has to be done today is a developer has to create the page layout first – which will not be the case in a future release (more to come on that later). So what are the steps and skills needed to create a new template? The good news is the code is extremely well structured and easy to follow. If this is all new to you, you should check out this PDF to learn about layouts and widgets. The Aurora store provides modular UI widgets that can be plugged into store pages. These UI widgets are independent, self-contained entities (IEA).
A page layout is a store page created for a particular layout type such as a category page, product page, or home page. A page layout has widgets associated with it and each widget has a set of configurable properties that can be provided to allow finer configuration of the widget in a layout. – IEA
Over the past four days I, on and off, had to look at my kids computer. The basic symptoms were “every time I search for something in Google I get redirected to another site” and then it moved on to “the internet is not working…at all“. When I first looked at it I noticed a strange looking executable named “2398764521:2143489.exe” or something like that in the process explorer. The colon is a clear sign this is not a normal process. I then searched the Windows registry and under services found the EXE under a folder named “2728” – once again…strange. I attempted a few things first, removing the entries, rebooting, and seeing if the EXE would disappear. I searched all start up areas in the system and registry and cleaned them out…nothing seemed to work. I then did the same process in Safe mode – to no avail the virus was still there after a standard launch.
I then searched and searched and finally found this article. The symptoms were identical, was this the ZeroAccess virus? I downloaded the tool, TDSS killer, to see if it could remove the virus. I had to download it on another computer as the kids computer could not access the internet with any of the three installed browsers. I then copied the tool over to a USB stick and renamed it to a “.com” file as directed in the article.
The tool found three variations of ZeroAccess on the computer and cleaned them up. I was shocked how easy the tool was to use and it looks like everything is fine now. I just had to blog about this and share the experience.
Are you new to eCommerce? Thinking about setting up a team to support your companies web presence? If so, you might want to check out the IBM Redbook: Best Practices and Tools for Creating WebSphere Commerce Sites.
While the book focuses on WebSphere Commerce, it also has a lot of great best practices around commerce in general. From deployment to team setup, the book is pretty comprehensive and promotes general project management using the Rational® Unified Process or RUP®.
Another great chapter in the book is the messaging chapter. This is critical for any commerce project because you will most likely be integrating with existing systems like SAP or Bazaar Voice. Chapter 10 outlines the messaging architecture and shows how integration with these other system is achieved with WebSphere MQ.
I have to hand it to David Leedy for creating what I consider some pretty amazing videos. I watched the first eight videos and plan to watch the rest very soon. Very clear, concise and to the point! I guess they are not listed from beginner to advanced but it does appear to get right to the point on every subject. He doesn’t have a British accent but his voice is pretty good.
I love this kind of stuff because I just play them while on the treadmill, way cool! If you want to learn XPages the visual way then this is the place to be!
Check out XPages.tv today.
I got a call the other day asking how can one do a common set of responses in Sametime. I figured since this probably is a common question for people who are new to Sametime that I would share the answer in a quick little video.
My Widgets is a very powerful and easy method for deploying Eclipse features and plug-ins to the Lotus Notes 8.5.1 clients and above. If not careful, it can however bite you. So here is my story…
I had some strange behaviors when I was sending out the attachment viewer in the beginning so I figured I would share those experiences.
When you create a Features and Plug-ins widget using the “Getting Started with Widgets…” icon in the Notes client you basically point it at an Eclipse update site on some HTTP server and select which features you want to install. The wizard generates the extension.xml you see below.
The problem I had was; when I changed the update site (compiled new features and plug-ins) the versions for the features and plug-ins were updated (remember the .qualifier post?) and no longer matched the versions specified in the widget. So I generated a new widget using the wizard based on the newly compiled feature versions in the Eclipse update site. This would be fine if I wanted whole new features to be installed but in the end I only wanted one widget. So what did I have to do?
Well, I had to save the extension.xml locally and edit it. The reason is, I needed to retain the widget Id (in red below) so the Notes client would prompt me to update the existing widget – versus installing a new one. You can see the widgets extension.xml below. I would then change the feature version (install and requirement versions), also in red below to the new versions. You then post this in the catalog or send back out to your users via email to have the new Eclipse features install and the existing widget “upgraded”. I actually ended up storing the extension.xml in source control with the update site so the Id will always be retained.
<?xml version="1.0" encoding="UTF-8"?> <webcontextConfiguration version="1.1"> <palleteItem contributeToSideshelfOnStartup="false" doubleClickCommandId="" hideThumbnail="false" i id="1399769204" imageUrl="http://blog.balfes.net/sites/atviewer-pub/at-icon.png" providerId="com.ibm.rcp.toolbox.prov.provider.ToolboxProvisioning" singletonSidebar="false" title="Attachment Viewer Feature" url="http://blog.balfes.net/sites/atviewer-pub" viewImageUrl=""> <data> <installManifest> <![CDATA[<install> <installfeature version="184.108.40.206010051341"> <requirements> <feature version="220.127.116.11010051341" match="compatible" /> </requirements> </installfeature> </install> ]]></installManifest> </data> </palleteItem> </webcontextConfiguration>
Tonight I am checking out a discussion on LinkedIn and this site was posted in one of the responses. The site is in Dutch but you can get the main idea using Google Translate. The author has some pretty good and in depth analysis on the two companies and their social software and collaboration capabilities and has been blogging about it for a while.
Personally I see more opportunities for IBMs strategy.
Where a pure Exchange messaging product, Lotus Domino is a complete application platform. Hoewel er heel wat bedrijven zijn die slechts de mailfunctionaliteit van Lotus Domino gebruiken, blijft het feit staan dat ze daarmee een product hebben waarmee indien goed gebruikt men de productiviteit van de medewerkers flink kan verhogen zonder dat dit geld voor extra licenties hoeft te kosten. Although there are many companies that only the email functionality of Lotus Domino using ICT, the fact that they are thus a product that when used properly the productivity of employees can increase substantially without any money for additional licenses inexpensive.
I can not do this site justice – you will need to check it out yourself.
In English using Google Translate.
I heard from a user of the Attachment Viewer today that when a large ZIP was selected the client appeared to hang. He explained that the attachment viewer was not even showing yet it looks like it still processed the selection. Well, he was right. After looking at the code, it was actually processing the ZIP file every time – whether the viewer was showing or not. So I made a simple change and he is checking it out (testing it for me). I did my small unit tests but I figured giving him a patch and testing his large ZIP file attachment would also be good – a second set of tests is always welcome in software. 🙂
So what did I do?
In the selectionChanged() event I had to determine if the view was visible or open. This was an interesting problem because the view itself does not contain this state. What I had to do was register the view with the workbench as an IPartListener2. Why the “2” and not just IPartListener? The key event we need is actually partHidden()!
The description of the event is here:
Notifies this listener that the given part is hidden or obscured by another part.
What I do is have a class level property named “_closed” and set it to true or false in the different events for IPartListener2. This allows me to not process the selection if its “_closed” and just return out of the selectionChanged() callback.
I scoured the SWT and Eclipse world and I could not see another way to do this so if anyone has any input please let me know. I will be updated the OpenNTF project with the fix in a few days. I am sure one of the Eclipse guru’s reading would know if this is correct or not.
There is a new set of API’s that allow the creation of Java based components – for use in composite applications – in the Lotus Expeditor stack. The recently published article, jWidget – Easy Creation of Java Composite Application Components, explains how to use the API’s and not get bogged down with WSDL, or Property Broker API’s or comp app based extensions. The new jWidget classes make it easy to code a new component for use in the Composite Application Editor. The article goes into depth on how the jWidget classes interact with the composite application infrastructure (areas including TopologyHandler and Property Broker).