Ok, so I’ve played around with Visio Services and created diagrams linked to data. Here's what I've learned so far: there is no way to dynamically create a Visio diagram. What I mean is, the Visio Services API won’t allow you to dynamically add shapes to a diagram. The shapes have to be on the diagram already when you publish the diagram. You also cannot modify any of the properties of the diagram or any of the diagram shapes’ properties through the Visio Services API. You can’t even dynamically link a row from your data source to a shape already on the diagram. The link from row to shape must be already defined prior to publishing.
So what can you do with the API? From what I can tell, there’s really only a few things:
You can read the linked data of any shape in your diagram. This is the data coming from the data source.
You can highlight or select any shape.
You can change the view (which page is shown) and zoom level of the diagram.
You can add an overlay. There are two types of overlays you can add here: a text overlay or an image overlay (note that when you’re looking at a workflow visualization, it uses this image overlay technique). Actually, I think you can technically create a third type of overlay (if the diagram is rendered w/ Silverlight as opposed to PNG). I think you can create a very limited XAML overlay that will be placed inside of a Canvas. That’s because the overlaying capabilities of the API uses createFromXaml() to create the other types of overlays (image and text).
So that’s what I’ve learned as I messed around with Visio Services. If anyone finds out anything else or if any of what I say is incorrect, let me know. So if you're looking for a way to create a dynamic diagram, maybe the best way to accomplish that is through Silverlight.
17. November 2009
Ok, here's another one I don't get. I created a new Team Site. I added a few test documents to the Shared Documents document library and tagged a few of the documents with some managed keywords:
I go into the library settings to verify that the Managed Keywords column is of type 'Managed Metadata':
I want to use the Managed Keywords column to drive metadata navigation. I go into the metadata navigation settings for the library:
The description for the navigation hierarchies clearly states that a column of type Managed Metadata field can be used for the navigation hierarchies. Yet I don't see my Managed Keywords column in the list of Avaiable Hierarchy Fields. So, of course, it doesn't show up in my navigation tree:
I'm not sure if this is a bug, if the description in the metadata navigation settings is incorrect, or if there's some configuration setting I'm missing. But it sure would be nice if that worked. That's going to help the users a heck of a lot if it works the way I think it's supposed to.
17. November 2009
NOTE: I posted this about an hour ago but for some reason, it got deleted.
One of the features I looked most forward to working with in SharePoint 2010 is the ability to customize a list's add/edit forms in InfoPath. I created a very simple custom list and the ability to edit those forms was as easy as advertised. However, when I created a document library with all the default settings and without adding any columns, I got the following error:
The following is the full error text:
The SharePoint list form can't be customized with InfoPath because fields of an unsupported data type are marked as required, or because fields are corrupted. In SharePoint, try deleting the columns or editing the column properties to remove the required
Is this supposed to work for document libraries or is the ability to edit these forms in InfoPath 2010 limited to lists only? Like I said, I kept all the default settings and didn't add any additional columns to the document library so if this functionality is supposed to work, I would have assumed it would have worked at the very least in this scenario. But if it truly isn't supposed to work with document libraries in the first place, why does the command to edit the library's forms appear in the ribbon at all?