Here at SSP, we've now been involved with quite a few efforts to develop an effective way to manage feature attachments and hyperlinks for clients. It seems more and more that linking files to objects isn't quite so cut and dried, and different utilities need it to work in different ways. It's no wonder, then, that the out-of-the-box tools don't always work, despite their usefulness in many situations.
We've already gone over a very versatile way to link GIS objects to files that we already support. This time, though, the solution needed to be a little different.
In our most recent scenario, ArcGIS hyperlinks were already in place and were starting to be used to link files to GIS objects. The goal was to allow every user to see what was linked, and for hyperlinks to be easily updated.
The out-of-the-box hyperlink functionality is pretty useful: you click the lightning bolt tool, click a feature, and the hyperlink pops right open - or, if multiple files are linked, a dialog box opens allowing you to choose the file to open.
While the functionality itself was useful, the behind-the-scenes approach wasn't the right fit for this multi-user, dynamic scenario. For example, these hyperlinks are stored in the map document (MXD) data, which has implications:
While these are the main concerns, there are other implications as well; for example, the method of linking is on a per-feature basis by FID, which doesn't allow features to share hyperlinks implicitly, and it has the potential to be unreliable in certain cases between a parent version and its children.
The end decision for this utility was that the functionality of using the tool was great, so we would emulate the experience of the out-of-the-box hyperlink functionality, but change the way things worked behind the scenes for a multi-user, multi-map environment:
Our resultant custom hyperlink tool allows users to quickly open any files that are associated with a feature in the geodatabase. This is done by storing the path to the associated file in a custom field. This method allows files to be added and updated easily, shared across all maps and users, and accessible even to other tools, such as functionality we've added to a custom search tool to open these links from the search.
Files can be added or updated easily by moving a copy of the file into a centralized folder. Our Nightly Batch Suite process will give the file a new revision number (if necessary) and move the file into the designated "current hyperlinks" folder.
After that point, the linked path will be updated to the new file for any features whose designated field matches the file's name. This makes things easy and effortless to keep up-to-date, and the results will always be accurate.
Like the out-of-the-box functionality, our custom hyperlink tool gives users the ability to select any features that have hyperlinks and open the file on the spot. The lightning bolt cursor will highlight when hovered over a valid feature.
When clicking on a feature with a single hyperlink, the associated file will be immediately opened to view. If there are two or more hyperlinks, a window will be displayed showing all of the hyperlinks connected to that feature.
This window will include what the type of each hyperlink is, and allow the user to select which file to open.
Everyone is definitely a little different in their business needs in this area. There are always more possibilities than those that exist, but we're hoping that between the out-of-the-box solutions and our custom solutions, you can start to visualize the optimal solution that will work the way that you want it to.
If you think that we can help you with your ideal hyperlink solution, please contact us and let us know how we can help!