XQuery: finding values in one sequence that aren’t in another

Author: Dave Cassel  |  Category: Software Development

During a recent working session, a question came up about how to quickly find all the values in one sequence that aren’t in another. A little poking around the web turns up what seems to be the standard approach: I found that approach in a couple places, including functx’s implementation. If I’m thinking about it right, […]

Recursive Descent in XQuery

Author: Dave Cassel  |  Category: Software Development

This post covers a technique that’s an oldie but a goodie, with some thoughts on how it applies with today’s MarkLogic features. I reviewed this with my team recently and we thought it would make a good reference. The post will cover both some available implementations and the raw technique itself, and when to use […]

Partial document updates with MarkLogic’s REST API

Author: Dave Cassel  |  Category: Software Development

I just got my first taste of one of the new features in MarkLogic 7: the ability to do partial document updates through the built-in REST API. It made me happy. You may be aware that the REST API was introduced in MarkLogic 6. That version handles search and full-document CRUD operations. However, if you […]

Roxy Survey

Author: Dave Cassel  |  Category: Software Development

Over the last week, I conducted a survey of how people use the Roxy framework. I got 34 responses. Let’s see what people said. Note that multiple answers were allowed to the first four questions (Roxy Components, MarkLogic Versions, Roxy Application Types, Architectures). Amazon Gift Card I’ll start with the results of the last question: […]

Removing a Facet when using the MarkLogic Visualization Widgets

Author: Dave Cassel  |  Category: Software Development

Suppose you’ve built an application using MarkLogic’s Visualization Widgets. At some point you decide you have too many and decide to remove one. I’ve seen a couple cases where someone does an incomplete removal, so I figured it’s worth laying out the steps. This write-up assumes that you’ve built an application using Application Builder, but […]

Setting default pages with the REST API

Author: Dave Cassel  |  Category: Software Development

I just went through the exercise of figuring out what’s needed to change the default page when building an application with MarkLogic’s REST API. Time to share. Built-in Default Suppose you have an HTTP application server configured to use the REST API (for instance, by generating a Roxy application with –app-type=rest). The URL rewriter field […]

Announcing Roxy 1.4

Author: Dave Cassel  |  Category: Software Development

I just sent this out to the Roxy mailing list. Hello all, I’m happy to announce Roxy 1.4 has just moved up to the master branch. That means lots of new features when you create a new project, without having to specify the dev branch. $ ml new my-app –server-version=6 –app-type=hybrid Roxy 1.4 added several […]

Using Angular with Roxy

Author: Dave Cassel  |  Category: Software Development

On a few different people’s recommendations, I’ve been looking at AngularJS lately. Something I ran into early was the expectation that you use HTML5, which is generally not valid XML (meta and link elements aren’t closed, and AngularJS uses some valueless directives, like <body ng-app>). MarkLogic also gets confused by the {{ }} binding markers […]

Capturing an App Builder application with Roxy

Author: Dave Cassel  |  Category: Software Development

This post is an update to my earlier tutorial on how to use Roxy with MarkLogic‘s Application Builder. I finally wrapped up a feature that automates the process, so the procedure has changed. I’m working with: MarkLogic 6.0-3.1 (6.0-2+ required) Roxy 1.4 (see the version.txt file in the project’s base directory) Motivation Application Builder makes […]

Deploying MarkLogic REST API service extensions

Author: Dave Cassel  |  Category: Software Development

When you deploy a custom service extension to MarkLogic’s REST API, where does it go? By default, service extensions are put in the Extensions database. This means that an extension is available to all applications on the MarkLogic instance. While I can see use cases where this is helpful, the servers I work on typically […]