In addition to .NET primitive types and custom entity types, Shaman provides the following built-in types: Using the most appropriate type makes it possible for Shaman to parse the field correctly, and to provide strongly typed features.
  • WebImage: represents the URL of an image
  • WebVideo: represents the URL of a video
  • WebAudio: represents the URL of an audio file
  • WebFile: represents the URL of a downloadable file (base class for the previous types)
  • UriObject: represents a generic URL, which could resolve to anything (entity, file, or other web page)
  • Html: represents a chunk of arbitrary HTML code
  • FileSize*: represents a file site, with suffixes such as MB, GB and so on
  • Length*: represents a length (metric or imperial)
  • Mass*: represents a mass
  • GeographicLocation: represents a location, which can be either text or coordinates, or both. Textual coordinates can be resolved using the built-in Google Maps and OpenStreetMap connectors.
* these structs include a normalized version of the desired quantity, regardless of the unit. For example, "1024 KB" and "1 MB" are converted to the same FileSize value, where the size is specified in (approximate) bytes.

In addition to standard date formats, DateTime fields also support conversion from human-readable values like "2 hours ago" or "Yesterday at 5.11 PM"