Now the other point the article made was that the process only runs on untrusted documents. I re-enabled validation, and added the path to where the attached template was located as a trusted location, and voila, the document opened quickly.
In the end the problem turned out to be a group of users who weren't getting their Workgroup Template path set correctly, so therefore the network templates were not being trusted.
Peter tweets about his VSM columns with the hashtag #vogelarticles.
His blog posts on user experience design can be found at
However, it is not a complete measure of web standards conformance.
Many major web browsers are often tolerant of certain types of error, and may display a document successfully even if it is not syntactically correct.
Markup validation is an important step towards ensuring the technical quality of web pages.The package contains two objects that you can use for validation: Json Schema (which is deprecated) and the newer, cooler JSchema (which is what you should use).Newton Soft's package is free as long as you're doing fewer than 1,000 validations per hour -- if you think you'll be doing more than that, you should check out their pricing.I also showed how to use that schema to provide support for developers creating JSON documents in Visual Studio (or any other editor that supports JSON Schemas).But you can also use your JSON schemas at run time to validate JSON files or messages, ensuring your code doesn't try to process something that isn't correctly formatted.Usually the cause of documents being slow to open in Word is when the attached template is missing – especially when the template is located on a network.Turns out with Word 2010 there can be another reason.The simplest way to load your JSchema and JObject classes from files is to use the File object's Read All Text method, like this: In a Web service, the most likely combination is that you'll read your schema from a file but will be accepting your JSON document as a parameter to an ASP. Regardless of how you load the two objects, to check that the JSON document is valid against the schema, you call the JObject's Is Valid method passing the JSchema object and a collection declared as an IList of String.That collection will be populated with any error messages that are found.Typical code to catch and report validation errors might look like this: Newton Soft also includes a validating writer that you may want to use with the Json Serializer's Serialize method when converting . I'd recommend using this during testing to ensure you're creating valid output, but you should bypass the validating writer in production to reduce overhead.Armed with these tools (and a JSON schema) you can ensure that you don't try to process a message that doesn't live up to your standards.