Loading JSON into MarkLogic 7

Author: Dave Cassel  |  Category: Software Development

This post shows how to ingest JSON into MarkLogic 7 using mlcp. Unlike many, this one is very specific to MarkLogic 7. Since the release of MarkLogic 6, MarkLogic Content Pump (mlcp) has been the supported tool for importing, exporting, and copying content. One feature that’s missing from it is the ability to load JSON files […]

MarkLogic, Angular, and node: Authentication

Author: Dave Cassel  |  Category: Software Development

My first effort with the DemoCat application had a pretty simple architecture: node hosted static resources and passed REST requests straight through to MarkLogic. This approach is more in keeping with the three-tier architecture that MarkLogic’s customers typically use, but my middle tier was doing almost nothing. I’ve made some improvements, especially related to user management. […]

mlFacets directive

Author: Dave Cassel  |  Category: Software Development

My group within MarkLogic is moving to using AngularJS for the front-end code of our MarkLogic applications. One of the things I like about AngularJS is how many directives are already out there, and thus available for us to use in MarkLogic-driven web applications. Of course, not everything is already out there, and I want […]

Fixing a slow XQuery function

Author: Dave Cassel  |  Category: Software Development

Sometimes an application is slower to respond than we like. There are a variety of reasons this can happen — hardware, indexes, algorithms. MarkLogic offers some tools to investigate the software aspects of code running too slow. The rest of this post is a case study investigating slow responses on a project I worked on […]

Demo Catalog

Author: Dave Cassel  |  Category: Software Development

I’ve begun working on a Demo Catalog application recently that has a few purposes. My immediate purpose is to make our demos easier for our sales engineers to describe, find, comment on, and file bugs and RFEs against. If others find the app helpful as it develops, that’s great. But this project is also going […]

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 […]