When I reflect on how I got into XPages, I really find myself focusing again and again on the differences. It’s one thing to say that XPages ‘feels’ fluid, or that there’s a rapidity to the design, but what does that mean for the designer, or the programmer? Beginning in XPages allows a Domino professional to skip a few steps that they wouldn’t have been able to before, and utilize new methodologies to bring new possibilities to their users.
So, where DO we start then?
At the design. No, really. Traditional Notes development has long been about the data. Conventionally, a developer will define the data structures first, and then shape controls around them to suit the end user. XPages allows us to incorporate facets of traditional web development to provide a more complete experience. This changes the way we look at the solution from the get-go. Instead of focusing on categories of data (and specific data points), we also need to know how we’re presenting that data.
XPage development is best thought of as a framework that can be used to present and receive data from users. Questions like, “How many layouts will the system have?” and “How will the navigation be structured?” become more important when we’re not relying on Notes framesets and outlines. I am fortunate to work with a great design team here at 4CTechnologies that specializes in web content, which provides me with a strong starting point, but any simple HTML layout will suffice. In future posts, I’ll provide a simple HTML structure that can be manipulated to provide many different looks using CSS.
So, HTML? So why can’t I just put that on a form and mark it Pass-Thru?
Well, there’s no reason you can’t, but there are reasons you don’t WANT to. Converting a Notes form to HTML bloats the header information and doesn’t give you extensive control over things like the doctype. XPages provide a better entry point for manipulating how your content will display in many different environments. Utilizing a modern doctype allows you to use the most up-to-date methods of displaying data through HTML 5, and provides for the best cross-browser compatibility.
As an added bonus, XSP (the language of XPages) will even ignore any tag that doesn’t contain an XML markup! (More on this later). This means, in short, that any HTML tag will be passed to the browser as written, meaning an <xp:panel> and a <div> tag will render almost identically, if no additional information is attached.
Great! So, if everything works, am I done?
Well, you have something that shows, sure, but it doesn’t take full advantage of XPages. We want to tie this into the collaboration and data storage power of Notes, after all. The first step to this is to convert HTML to XPage Structures in order to take advantage of the attributes those structures provide. Once your page has been upgraded to XPage controls, it’s time to start integrating data into your system. (By the way, notice how we haven’t created any forms in the system yet?)
Next time, we’ll talk a little bit about converting HTML to XSP, as well as look into the properties of some simple XPage controls, leading into our first data bindings to Notes structures.