I’m going to be teaching the MarkLogic University Basic XQuery class tomorrow, and as usually happens when I get to teach, I’ve learned something while reviewing the material. In this case, it’s the differences among text(), fn:string() and fn:data(). text() This one is commonly seen at the end of an XPath expression. It returns a [...]
A little while ago I ran YSlow, a Firefox plugin that evaluates how quickly a web page loads, against an Application Builder based app I’d written. YSlow gave my site a grade C, with an overall performance score of 71 (out of 100). Some of the suggestions that YSlow offered are not simple to implement [...]
Last week I got to do something a little different — I got to teach a class for MarkLogic University, the training group within the company. It’s been years since I last got to formally teach a class, but I really enjoyed it. No homework to grade, no tests to come up with, just time [...]
I learned something interesting today, so I thought I’d share. A colleague of mine wanted to figure out how to express a range of dates as a query string for an Application Builder app. These applications use the Search API, so a lot of the search magic is in the options that get passed into the [...]
Experimenting with AppBuilder’s rewriter
Author: Dave Cassel | Category: Software DevelopmentIn a recent post, I wrote a tutorial showing how to add a view to an Application Builder-based application. As one step, I made a copy of the rewrite.xqy module under the custom directory so that I had an easy way to add my new view. There was one thing about the approach that I [...]
In MarkLogic Server, we tend to think about the documents that we put into the database. Most of the documentation, conversely, talks about fragments. I’ve had to learn some about fragments recently, so I figured I’d share. What are fragments? Fragments are one layer of granularity of data in a MarkLogic Server database. In particular, [...]
A number of MarkLogic Server functions require a query as a parameter. Every now and then, however, you want to call one of those functions without specifying a query. There’s an easy way to handle this: you can use cts:and-query(()) as an empty query. This empty query matches everything, so it’s a simple way of [...]
Adding a view to an App Builder application
Author: Dave Cassel | Category: Software DevelopmentIn my last post, I showed how to add maps to the front page of a MarkLogic Server Application Builder-based application. But what if you want to add a whole new view? I’ll show you how in this tutorial. The Application I’m going to use my pin collection app, as I did in the previous [...]
Using MarkLogic’s Application Builder makes it a snap to put together an application quickly. Whenever I build an app this way, I feel like I’ve gotten 80% of what I need. This post shows how to take the next step and add a common feature: maps. To illustrate these steps, I’m going to use an [...]
I’ve been working with MarkLogic Server for more than a year now, and one thing I’ve enjoyed is how easy it makes some things that used to be hard (or at least, harder). But there are some thing that the MLS API doesn’t provide. What to do? Run back to LAMP? No, no, no. Delegate. [...]