Contrary to HTML 5 forms, which presents only a number of controls, XForms gives us a complete, MVC-style application model with built-in validation, support for multi-step forms (Wizards), repeating structures, a complete submission module (HTTP, Web Services, REST, and more), all using pure, fully self-contained, declarative XML. The W3C Forms Group initially designed XForms to be a replacement for the severely limited HTML forms specification. This plan was ambitious, and soon turned out to be unrealistic,...
Posted by Marc van Neerven on Friday, November 04, 2011 6:34:23 PM
-
0 comments
The W3C Validator service is tremendously handy for checking a site during development. The only drawback is that you have to copy and paste HTML code into the direct input field of the Validator, unless your site is being developed while being live on the internet (not very probable). There's a very simple trick however to be able to directly validate pages while surfing the site, and it comes as a standard feature in the 1.4 empty site. Create a restricted application page, call it 'W3C Validator',...
Posted by Marc van Neerven on Thursday, March 17, 2011 7:08:42 PM
-
1 comments
Smartlets are modular, flexible building blocks. They make it possible to write fully self-contained, modular applications, have built-in Ajax support while being very suitable for scriptless environments, are localizable, and, last but not least, have a tremendous ease of deployment. Still, there was room for improvement on a number of levels. When developing Smartlets, you will have to decide what to parametrize (using Smartlet Properties). You will want to have consumers of the...
Posted by Marc van Neerven on Monday, August 09, 2010 11:41:54 AM
-
1 comments
Andy Croxall has written a great article about common misconceptions amongst jQuery developers: http://www.smashingmagazine.com/2010/08/04/commonly-confused-bits-of-jquery/
Posted by Marc van Neerven on Wednesday, August 04, 2010 4:59:53 PM
-
0 comments
We're all into Smartsite Personalization these days, but let's not do so without a plan. This (Dutch) article on FrankWatching gives a nice overview and can help when implementing personalization in your sites: Het Persoonlijke Web: 4 manieren om je bezoeker gerichter te benaderen .
Posted by Marc van Neerven on Saturday, April 10, 2010 5:18:20 PM
-
0 comments
No matter if you like or use it, Twitter is hot these days. More and more sites use Twitter integration, either displaying a 'Follow me on Twitter' button or showing the latest 'tweets' on some subject or from some user. To accomplish this, you could simply take one of the jQuery Twitter Plugins . This approach is simple, but will simply fail when scripting is disabled. So what I wanted to do is create a Smartlet that uses jQuery/Ajax to refresh itself...
Posted by Marc van Neerven on Friday, February 05, 2010 8:55:27 AM
-
0 comments
Since Smartsite iXperion 1.1, with Smartlets, Scf and the Web Toolkit, we include a version of jQuery with new releases. We are careful though in bundling the latest available jQuery version. At the time of this writing, jQuery 1.4 (and 1.4.1 only a few days later) has just come out. Obviously, this release looks very appealing , but it also has a few breaking changes . What we have done in 1.2 is make it easier to update the jQuery version you wish to use in your site, by removing...
Posted by Marc van Neerven on Friday, January 29, 2010 6:28:08 PM
-
0 comments
For those of you who wish they had access to the powerful jQuery and Scf frameworks from within the Cms (the Smartsite Manager), here's a simple solution . Have fun!
Posted by Marc van Neerven on Friday, October 23, 2009 9:17:53 AM
-
1 comments
Whenever you wish to store data globally and persistently in iXperion, you will either (1) create a Data Model on the Database Server, or (2) you will store the data as files on the server. In case 1, you are very lucky: you have enough database skills to create database tables, relations, views, stored procedures, and you are granted access to the database server by the db admin (or is that you?) In case 2, you're probably a bit lazy, or case 1 does not apply to you. In a database oriented CMS such...
Posted by Marc van Neerven on Friday, October 02, 2009 12:07:15 PM
-
0 comments
"A good web site will remember me. Perhaps the site will remember my favorite color scheme, or my preferred shipping address. Either way, if a site makes me feel like I’m not just another IP address on the web, I’m more likely to return in the future. Adding a personal touch for your end-users can make a difference." Scott Allen Smartsite iXperion 1.2 will have built-in personalization features. It will ship with a custom ASP.NET Profile Provider, using a rich datamodel for...
Posted by Marc van Neerven on Tuesday, August 18, 2009 11:07:47 AM
-
1 comments
The smartsite iXperion Smartlet Architecture and Client Framework (SCF) introduce new and exciting tools for developers to build state-of-the-art, flexible, robust and scalable applications. To prove this point, I have built an application that truly takes advantage of this new platform: a Chat Room. Read the article here or, dare to directly download the Chat Room (import xml) and figure it all out yourself.
Posted by Marc van Neerven on Friday, June 12, 2009 2:38:38 PM
-
0 comments
Writing jQuery extension methods is very popular, as you can see at http://plugins.jquery.com . As more and more extensions are being written however, the risk of having name collisions on extension methods is growing, and there is a need to be able to use namespaces to group functionality by company, area or type. Now, until the jQuery team decides to add native namespace support for extension methods, there is a nice plugin by Gilberto Saraiva, NameSpace . I tried it, but found that it does...
Posted by Marc van Neerven on Friday, January 30, 2009 4:33:49 PM
-
0 comments
As you will probably know by now, Smartsite iXperion is written with compliancy in mind, and the upcoming Web Toolkit should not be an exception to that rule. Having such an ambitious goal, a solid framework was needed that would help in rapid web development of Web 2.0-style components, whilst guaranteeing compliancy to XHTML 1.0 strict, WCAG and 'Web Richtlijnen'. It's time to reveal some of the features of this "Smartsite Client Framework" (SCF). The Smartsite Client Framework First,...
Posted by Marc van Neerven on Monday, December 15, 2008 9:08:23 AM
-
0 comments
Smartsite has recently chosen the jQuery library as the foundation layer for its Client Framework. One of the main foundation layers for the upcoming "Web Toolkit" is currently being developed as jQuery extensions . According to the official jQuery site, "jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. jQuery is designed to change the way that you write JavaScript"....
Posted by Marc van Neerven on Wednesday, November 12, 2008 9:50:06 AM
-
2 comments
When it comes to writing good CSS that targets the mainstream browsers, I feel your pain. We all know that IE 6 and 7 don't particularly conform well to CSS2, and lots of hacks and tricks exist to work around the quirks. There's one trick I came accross recently that is particularly efficient and simple to implement, using IE conditional comments and the #IEroot selector. Read more at http://www.positioniseverything.net/articles/cc-plus.html
Posted by Marc van Neerven on Thursday, October 09, 2008 11:48:37 AM
-
3 comments
In a nice article on ALA, Aaron Gustafson writes about the subtle differences between Graceful Degradation and Progressive Enhancement. "It's a matter of perspective" http://alistapart.com/articles/understandingprogressiveenhancement
Posted by Marc van Neerven on Tuesday, October 07, 2008 1:59:27 PM
-
0 comments
The sitemap macro has a minimumbrowselevel parameter for showing restricted content when users are logged on. However, when you use a sitemap in standard user-interface elements such as collapsible html menus, you may wish to cache the sitemap macro to minimize the overhead the menu causes. You will find that simply wrapping the sitemap macro in a cache macro is not feasible in this situation, because the cache knows nothing about the current login status and you will end up with a sitemap that doesn't reflect...
Posted by Marc van Neerven on Thursday, October 02, 2008 3:46:02 PM
-
0 comments
Following up on two earlier articles I wrote (ASP.NET gets no Respect? and Script 2.0: making the right choices), I was pleasantly surprised to read a post by Microsoft's Scott Guthrie himself , stating that Microsoft is embracing jQuery and will even integrate it in Visual Studio 2008: "I'm excited today to announce that Microsoft will be shipping jQuery with Visual Studio going forward. We will distribute the jQuery JavaScript library as-is, and will not be forking or changing the source from...
Posted by Marc van Neerven on Monday, September 29, 2008 9:15:38 AM
-
0 comments
Hidden away somewhere in the Smartsite iXperion Documentation is a page about ELBA, the Element Layout Block Approach for Site Building. But fear not, ELBA is actually quite nice. She won't bite you. What is ELBA? ELBA stands for a higher level of abstraction in Site Development, and creates a highly flexible and maintainable site architecture. Separate layout and style from content and functionality. Using ELBA, you create near-empty Render Templates, holding only a reference to a Layout block System...
Posted by Marc van Neerven on Thursday, September 18, 2008 11:42:40 AM
-
0 comments
When you add a Smartsite iXperion channel, the channel will not automatically be published and available for browsing. You will have to edit the smartsite.config and add the channel as an iXperion publication: That is, unless you specify the defaulttype attribute on the smartsite.config publications element: This way, new channels will directly be available. Save yourself some pain and add the defaulttype attribute right now!
Posted by Marc van Neerven on Friday, September 12, 2008 11:27:00 AM
-
3 comments
Rick Strahl's Web Log provides a variety of .NET development topics with focus on ASP.NET and enterprise development. Rick has written an elaborate article on why ASP.NET has a difficult time in being recognized as a great platform in the world of cool startups and social networking sites. There are many interesting points in his reflections, but one observation that immediately got my attention is that Microsoft is "stuck in the mud" with its "(...) bulky and clumsy ASP.NET AJAX framework which in a...
Posted by Marc van Neerven on Friday, August 15, 2008 9:24:11 AM
-
0 comments
In an award-winning article on CodeProject, Omar Al Zabir , the co-founder of PageFlakes ( http://www.pageflakes.com ), goes into great depths about how to "squeeze out every drop of performance out of" ASP.NET. Omar addresses the following topics:ASP.NET pipeline optimization ASP.NET process configuration optimization Things you must do for ASP.NET before going live Content Delivery Network Caching AJAX calls on browser Making best use of Browser Cache On demand progressive UI loading for fast smooth experience...
Posted by Marc van Neerven on Thursday, July 10, 2008 10:18:28 AM
-
0 comments
RC2 will come with a new ASP.NET integration solution: Native ASP.NET pages (NAP) . For those of you who did not have the opportunity to visit the last tech briefing, here's a quick overview: NAPsimply stores CMS itemsusing thefiletype field to specify the ASP.NET type, such as .aspx . How NAP works Now, let's assume we select .aspx as the file type. When a request comes in on the web server, the file extension will trigger the ASP.NET page HttpHandler , not the Smartsite one. Tomake ASP.NETcall into Smartsite,...
Posted by Marc van Neerven on Monday, May 05, 2008 2:54:46 PM
-
0 comments
One of the new concerns amongst CMS web developers in Enterprise environments is how to generate compliant output and follow web guidelines ( http://www.webrichtlijnen.nl/english/ ), while embracing all the new technology available to create rich user experiences. We're all keen on using AJAX, JSON, rich controls using lots of scripting and CSS, and many of us are deploying one or more of the scripting libraries such as prototype , jquery , mootools , ext and ms ajax , but how do we meet the standards defined...
Posted by Marc van Neerven on Monday, April 07, 2008 9:09:57 AM
-
0 comments
Performance tuning can be tricky. It's especially tough in Internet-related projects with lots of components running around, like HTML client, HTTP network, Web server, middle-tier components, database components, resource-management components, TCP/IP networks, and database servers. Performance tuning depends on a lot of parameters and sometimes, by changing a single parameter, performance can increase drastically. Read the full article on http://www.dotnetfunda.com/articles/article45.aspx .
Posted by Marc van Neerven on Thursday, February 28, 2008 11:06:16 AM
-
0 comments
We previously discussed using virtual Master Pages as a great way to re-use your Smartsite Site design from within ASP.NET applications. However, since ASP.NET compiles every page every time the source is modified, dynamic SXML instructions in Virtual Cms files are lost in the sense that their static result is used as the source for the ASP.NET compilation model. This is why we introduced the region ASP.NET webControl: This code in an ASP.NET page would make sure the Smartsite Page Processor was called during...
Posted by Marc van Neerven on Friday, October 19, 2007 8:02:49 AM
-
0 comments
An old friend named PageLocal Translation is back in town. Although chances are that you will not recognize him (he's nothing like he used to be), friends will be friends, even more so after you've noticed what he's been through and what's become of him! Example 1 ...so we can use the following syntax: Example 2 ...resulting in: Conclusion Page-local translations are ideal for modularizing your business logic. They behave exactly like normal translations but are scoped to the current page rendering. Consider them...
Posted by Marc van Neerven on Friday, October 05, 2007 5:00:55 PM
-
0 comments
We all know about Vipers. Together with XML syntax macros, they make up the SXML language. Without Vipers, SXML would be a whole lot more verbose, since Viper syntax is "XML-neutral", i.e. can be used anywhere in XML, including attributes. Below the surface, each Viper method has a matching .Net class method doing the real work. This mapping takes place during runtime, since SXML is a very dynamic language. The most obvious technique used to invoke the actual .Net code has been Reflection , but we also know...
Posted by Marc van Neerven on Friday, August 31, 2007 9:21:22 AM
-
0 comments
As small a change it might seem when you look at it, the TestSuite has recently undergone a major upgrade under the hood: it now hosts a full featured ASP.Net server. Finally, anything that would render under IIS will do so under the TestSuite, including postprocessing modules like the ImageProcessor and the PDF Generator. Still with me? Then let me tell you that what you just read is besides the truth. Due to the fact that an ASP.Net runtime can only be launched in a new, isolated...
Posted by Marc van Neerven on Thursday, August 23, 2007 3:24:36 PM
-
2 comments
SmartsiteiXperion Publication Serverisbuilt from the ground upas a .Net application that can be hosted inside an ASP.Net environment. As you would probably guess,Smartsite requests are handled using an HttpHandler registered in the web.config. HttpHandlers are responsible for the complete handling ofthe request-response pipeline. ASP.Net web pages (mainly .aspx files) are handled using a different HttpHandler, mostly defined as a default in the machine.config. Now, let's talk about the options you have when...
Posted by on Wednesday, August 22, 2007 9:55:51 AM
-
0 comments
The Viper syntax is nicely concise, intuitive and flexible, and it has one other major advantage: it can be used within XML attributes. Sometimes however, you find yourself in a situation where you want to call some Viper method with parameters that contain XML/HTML, or at least large inline strings. In these cases, you can use the Viper macro: You can call any method, including translations, this way, so you don't need to first create buffers using macros anymore. Note This macro has beenremoved in RC1. In...
Posted by on Thursday, July 26, 2007 1:51:06 PM
-
0 comments
Smartsite iXperion offers a different model for delayed rendering using the Placeholder Macro. Placeholders can render in place or using the Viper method "render()", but they offer one big advantage: you can add data to them from anywhere using the extension Viper syntax "page.Xid>.<methodname>()". In the example shown below, a placeholder is used to collect all errors that occur during&nbsp;rendering of the content data: Internally, the Placeholder macro works as a...
Posted by on Tuesday, July 24, 2007 4:44:01 PM
-
0 comments
Viper intellisense has just been added to the CodeEditor. It's a very cool productivity feature that you will immediately embrace: And, since Translations are also vipers, you get it there as well, provided that you add the call syntax to your translation code: To go even further, you can add remarks to your translation.arg() calls in the replacement area of your translations. These will translate into descriptions in the intellisense tooltip:
Posted by on Tuesday, July 24, 2007 4:02:09 PM
-
1 comments