Microsoft’s XSD utility provides an excellent way to generate classes from schema definition files, but has a few quirks that can make using the generated classes a bit tougher. In particular, it serializes repeating structures as arrays rather than using the generic List class, and it serializes any element with a “minOccurs = ‘0’” with a separate “Specified” property (which must be set to true if the member is to be serialzied back to XML).
We frequently use serialization techniques here, and while there are some utilities out there that offer similar post processing, many of them are not free and/or difficult to package with a build (include an executable in the project? not ideal). In light of that, I wrote a PowerShell script (below) that can be included in source control and utilized in a post-build event. For example,
Talk UX is an annual design and technology conference hosted by Ladies that UX Boston (LTUX). LTUX is a global organization that has created an international community of supportive and inspiring women in design and technology.
This year’s conference was held at the beautiful Joseph B. Martin Conference Center at Harvard Medical School. There were roughly 500 people following a single stream of presentations and discussion panels by women in leadership. UX leaders, designers and researchers as well as professionals not actively working in UX attended this event.
Building Bridges Through UX Research
Laura Granka – Director of UX Google
Slides | Video
Laura described some methods that Google uses to stay true to their user-centered strategy. One method she talked about was Google’s immersion studies, in which product teams go to the users. Per Laura’s suggestion, Google fashioned a 15 passenger van into a usability lab to…
From left, Rangan Majumder, Yi-Min Wang and Jianfeng Gao on Microsoft’s Redmond, Washington, campus. Photo by Dan DeLong.
Microsoft researchers have already created technology that can do two difficult tasks about as well as a person: identify images and recognize words in a conversation.
Now, the company’s leading AI experts are working on systems that can do something even more complex: Read passages of text and answer questions about them.
“We’re trying to develop what we call a literate machine: A machine that can read text, understand text and then learn how to communicate, whether it’s written or orally,” said Kaheer Suleman, the co-founder of Maluuba, a Quebec-based deep learning startup that Microsoft acquired earlier this year.
The Maluuba team is one of several groups at Microsoft that are tackling the challenge of machine reading. Two other research teams, one at the company’s Redmond, Washington, headquarters and the…
Introduction – Part 1
The most common and dreaded error that may occur when processing a dimension in Analysis Services Multidimensional (MD) is undoubtedly “Errors in the OLAP storage engine: A duplicate attribute key has been found when processing: Table: …. “ ‘Common’ because of both the poor data integrity frequently found in cube data sources, and improper modeling of the data in MD. ‘Dreaded’ because a number of distinct situations all give rise to this error and it can be difficult to diagnose which one is the actual problem. There is enough to explore around this error that this is Part 1. There will be a Part 2 subsequently.
The full error message looks like “Errors in the OLAP storage engine: A duplicate attribute key has been found when processing: Table: ‘TABLENAME’, Column: ‘COLUMN’, Value: ‘VALUE’. The attribute is ‘ATTRIBUTE’.” TABLENAME will…
While the Dell Boomi user interface is highly robust and user friendly there are times when using the user interface can prove to be quite tedious. One example that we have discovered to be an example of this are process deployments. In order to deploy a set of Boomi processes one must search for each individual process and deploy. This may not seem overly tedious if AtomSphere only has a few processes. But in some cases AtomSphere could have numerous applications each consisting of many processes. It is easy to see given the scenario how frequent deployments could prove to be very time consuming.
Luckily, there is an alternative to using the AtomSphere user interface. Dell Boomi offers a set of APIs (both REST and SOAP) that can be used for various sets of tasks and that includes deploying Boomi processes….
The Dell Boomi AtomSphere provides users with the ability to create and configure trading partners for EDI transactions. Users can create trading partners to be used with the X12 Interchange format.
The X12 Interchange Format is a standard used for the sending and receiving of EDI files, it allows us to define different pieces of information about the file and communicate information about what is expected of the file between the respective trading partners. It uses the ISA and GS segment definition headers within sent EDI messages to set this information.
This post will cover how to create a basic X12 Trading Partner and the different configuration options available for them.
First we can create our trading partner by creating a new component and selecting “Trading Partner”, we can configure items such as the name and whether or not this is our company…
Many times when a document cache is created for use in a lookup function, only a few values are actually needed. A typical approach to document caching would write an entire document to the cache, including unneeded values. This approach works fine when caching a small number of documents, but will perform worse as more documents need to be cached. A much more efficient approach is to only cache the elements of a document that are actually used.
Setting Verbose mode for a Boomi Process using a Dynamic Process Property
In most instances developers will have to accommodate certain reporting, notification and logging requirements of a given interface within the Dell Boomi AtomSphere platform.
Often times, the logging or emailing may need to be disabled for testing and/or faster iterative cycling through test cases and, of course, to not annoy the user community with email test messages.
The most straightforward way to accomplish or implement a verbose or Test Mode Boolean flag (as is very common in other platforms) is to create and enable a Dynamic Process Property and then assign its default value while allowing to reassign the same with extensions directly after deployment.
Although Boomi’s standard NetSuite connector can implement filtering within the connector itself, relying on saved searches to implement filtering is a much more robust design pattern.
The out-of-the-box NetSuite connector implements parameterized filtering that will be included in the request sent to the NetSuite endpoint. This filtering is useful during testing or in cases where the number of records being queried. However, a more robust and abstracted method of filtering is to make use of NetSuite Saved Searches. This methodology also allows NetSuite users to take ownership of their data, instead of relying on developers to make changes to filtering.
This eliminates the need for excessive filters in the connector itself. If at any point the filters in a native NetSuite connector need to change, the interface would have to be redeployed. This could become tedious and error prone. A Saved Search…
Using NetSuite Custom Segments in Boomi
Part 2: Retrieving Custom Segment Data with SOAP Request
Due to limitations in the NetSuite API which Boomi utilizes, Custom Segments are unable to be returned from a standard connector shape. A profile imported with Boomi’s standard NetSuite connector and operation will not contain any Custom Segments. To work around this, a SOAP connector is needed in order to send a modified HTTP request that includes requests for the custom segment.
The examples in this tutorial will being using the Inventory Item base entity in NetSuite to show the use of item level custom segments. The principles in this tutorial could be applied to any NetSuite entity.
Two shapes are needed to replace a NetSuite connector in a Boomi process: a message shape and a SOAP connector. The HTTP request will be set in the message shape. The…