views:

1154

answers:

3

Background

My task is to, in SharePoint, show an image of a process map which should be clickable. Think of an imagemap in html. Some areas take you to other process map images and other brings up a pop-up window.

"Connected" to each process map is a set of documents. These documents are stored in a document library. There are one process map for each folder in the document library. The documents should be shown next to the image. The person clicking either the image or a folder to navigate in the hierarchy should also be able to upload, download and delete the documents.

Question

What would be the easiest solution for this?

My thoughts

... so far is to create a custom web part which I add above the document library browser (the default one in MOSS 2007). This web part reads some xml file pointing out the image to show and the areas which is to be clickable. It listens for some kind of events from the document library, like clicks on folders in the browser or it reads the current URL to know where in the folder hierarchy we are currently, and from that show the correct process map image. When the image is clicked, the web part updates the image and tells the document library to update accordingly.

Is this feasible? Am I on the wrong track? How do I communicate with a document library?

Thanks, Martin

A: 

I just found this website http://www.sharepointblogs.com/tbaginski and it might just be my solution, what do you think? It describes the development of a custom Document Library Feature.

My worries are that I need to add some code-behind to get the functionality I need. But I cant find any way of adding a code behind to a feature!?

Riddler777
+1  A: 

My thoughts are that you create a web part that displays your image map and outputs(provider) the appropriate criteria to a another web part that consumes it and displays the files in a document library.

You can achieve this by creating your own custom webpart that displays a document library based on a CAML query. Each Images sends a different CAML query to the document library webpart.

I hope this helps. Please provide information on how you solved this problem if you have already done so.

Thanks

Jordan Johnson
A: 

Long since ive been here... Actually solved this one.

We created two web parts, one for process navigation and one for filtering documents in the document library.

The web part for process navigation is actually just a web part that looks for a specific query parameter in the URL and adds ".html" to it. Then looks for that document in a document library. If found then this document is shown inside an iframe. Simple! The html documents are produced by Visio and exported to html, then uploaded to SharePoint. The links in the Visio document drives the application with querrys.

The web part that shows the corresponding documents also looks for a specific query in the URL then sends filterparameters to the document library through the IfilterProvider interface. I snatched this example IFilterProvider at MSDN and made it look in the URL for parameters and then made the coltrols invisible to the user.

Really simple solution, though the customer needs to put in a lot of work to incorporate their company processes into it. And it is somewhat error prone and probably a sucker to make changes to data-wise.

Riddler777