|
|
Document List Searching
|
From "JetsMate" on 10/7/2006 11:53:10 AM
|
Our data is stored as xml documents in a document library list, where the columns in the list correspond to elements in the xml documents, which are based on a template built by InfoPath. This part seems to work very well. I have configured the list's default view to show the link to the xml document, and have selected about a half-dozen of the 60-odd fields to show in the list (name (linked to document), first name, last name, email alias, department, title).
What I need to do is show one text box (and possibly more, if that's the only way), on this list page or on a separate page. The user will enter search criterion (this could be part of a name, or a location, or anything not necessarily shown in the half-dozen fields presented in the view) into the text box(es).
What I have tried to do (and failed) is to put on a Text Filter Web Part, a Query String (URL) Filter Web Part (using a separate page to generate the URL arguments), a Search Box Web Part, and other Search category Web Parts. Either they fail to filter the list at all, or I can only filter on a single field on the page (I don't mean a single field at a time - I mean I can choose to connect the web parts in a way that only a single field can be designed for filtering). As for the Search parts, I haven't found a way to limit the scope of the search to just a single document library.
I have found a lot of information on writing custom code to make this happen. The problem is that the only custom code that I can put into the solution is client-side javascript; I can't do any server-side code at all (operational requirements).
I have SharePoint Designer, Visual Studio, InfoPath 2007, and most other relevant tools at my disposal.
How should I do this? Even knowing which Web Parts I should be using (and briefly - what should be connected to what) will help me tremendously. Or knowing that it's just not possible without custom code will help.
|
|
|
|
Re: Document List Searching
|
From "Eugene Rosenfeld" on 10/7/2006 4:39:16 PM
|
I'm not sure if you can do this OOTB or not. You may want to check out code samples form the latest SharePoint Portal 2007 SDK. The SDK and code sample are two sperate files, both available here: http://www.microsoft.com/downloads/details.aspx?FamilyID=6D94E307-67D9-41AC-B2D6-0074D6286FA9&displaylang=en
There is a filter web part code sample in the "C:\2007 Office System Developer Resources\SharePoint Server 2007 SDK\Code Samples\Beta 2 TR SDK Samples\WebPartFiltersAndConsumers\MyWebPartLibrary" directory. The filter app they create only allows one connection at a time, as referenced by this line: [aspnetwebparts.ConnectionConsumer("Simple Consumer", "IFilterValues", AllowsMultipleConnections = false)]
Perhaps you can use the sample to create something that meets your needs.
-- -Eugene Rosenfeld
"JetsMate" wrote in message news:1160247189.877801.279060@m7g2000cwm.googlegroups.com... > Our data is stored as xml documents in a document library list, where > the columns in the list correspond to elements in the xml documents, > which are based on a template built by InfoPath. This part seems to > work very well. I have configured the list's default view to show the > link to the xml document, and have selected about a half-dozen of the > 60-odd fields to show in the list (name (linked to document), first > name, last name, email alias, department, title). > > What I need to do is show one text box (and possibly more, if that's > the only way), on this list page or on a separate page. The user will > enter search criterion (this could be part of a name, or a location, or > anything not necessarily shown in the half-dozen fields presented in > the view) into the text box(es). > > What I have tried to do (and failed) is to put on a Text Filter Web > Part, a Query String (URL) Filter Web Part (using a separate page to > generate the URL arguments), a Search Box Web Part, and other Search > category Web Parts. Either they fail to filter the list at all, or I > can only filter on a single field on the page (I don't mean a single > field at a time - I mean I can choose to connect the web parts in a > way that only a single field can be designed for filtering). As for the > Search parts, I haven't found a way to limit the scope of the search > to just a single document library. > > I have found a lot of information on writing custom code to make this > happen. The problem is that the only custom code that I can put into > the solution is client-side javascript; I can't do any server-side > code at all (operational requirements). > > I have SharePoint Designer, Visual Studio, InfoPath 2007, and most > other relevant tools at my disposal. > > How should I do this? Even knowing which Web Parts I should be using > (and briefly - what should be connected to what) will help me > tremendously. Or knowing that it's just not possible without custom > code will help. >
|
|
|
|
Re: Document List Searching
|
From "JetsMate" on 10/7/2006 5:40:34 PM
|
Thank you for the response. At least that tells me my problem is not just a RTFM problem.
I have seen the SDK. The sample shows how to do a custom IFilterValues implementation, but, as I mentioned, I am completely unable to go with the custom code solution. My solution has to pretty much with OOTB parts only. That said, I can be very creative... for example, if there was a way to expose the contents of the list (or all of the XML files) through a web service URL that I could call from XMLHttpRequest... Sure, it might burn up the wire and have serious latency issues, but am I looking at a helluva lot of pain to solve it that way, or maybe only a little?
Thanks
Eugene Rosenfeld wrote: > I'm not sure if you can do this OOTB or not. You may want to check out code > samples form the latest SharePoint Portal 2007 SDK. The SDK and code sample > are two sperate files, both available here: > http://www.microsoft.com/downloads/details.aspx?FamilyID=6D94E307-67D9-41AC-B2D6-0074D6286FA9&displaylang=en > > There is a filter web part code sample in the "C:\2007 Office System > Developer Resources\SharePoint Server 2007 SDK\Code Samples\Beta 2 TR SDK > Samples\WebPartFiltersAndConsumers\MyWebPartLibrary" directory. The filter > app they create only allows one connection at a time, as referenced by this > line: > [aspnetwebparts.ConnectionConsumer("Simple Consumer", "IFilterValues", > AllowsMultipleConnections = false)] > > Perhaps you can use the sample to create something that meets your needs. > > -- > -Eugene Rosenfeld
|
|
|
|
Re: Document List Searching
|
From "Eugene Rosenfeld" on 10/7/2006 10:21:15 PM
|
I'm by no means a complete expert on what MOSS offers OOTB. I am discovering new functionality that SharePoint 2003 did not offer every day. But, if you can't find an OOTB solution and client-side code is allowable, SharePoint offers a very extensive web services API. It's part of the SDK. You can check it out here: http://msdn.microsoft.com/library/en-us/spptsdk/html/soapnsMicrosoftSharePointSoapServer2_SV01043862.asp?frame=true
Specifically, take a look at the Lists service. That has web methods for querying list items using CAML. The GetListItems method will probably be very useful to you. I've used the web services API from both the server, Windows forms apps, and AJAX apps with very good results. -- -Eugene Rosenfeld
"JetsMate" wrote in message news:1160268029.325561.103760@e3g2000cwe.googlegroups.com... > Thank you for the response. At least that tells me my problem is not > just a RTFM problem. > > I have seen the SDK. The sample shows how to do a custom IFilterValues > implementation, but, as I mentioned, I am completely unable to go with > the custom code solution. My solution has to pretty much with OOTB > parts only. That said, I can be very creative... for example, if there > was a way to expose the contents of the list (or all of the XML files) > through a web service URL that I could call from XMLHttpRequest... > Sure, it might burn up the wire and have serious latency issues, but am > I looking at a helluva lot of pain to solve it that way, or maybe only > a little? > > Thanks > > > Eugene Rosenfeld wrote: >> I'm not sure if you can do this OOTB or not. You may want to check out >> code >> samples form the latest SharePoint Portal 2007 SDK. The SDK and code >> sample >> are two sperate files, both available here: >> http://www.microsoft.com/downloads/details.aspx?FamilyID=6D94E307-67D9-41AC-B2D6-0074D6286FA9&displaylang=en >> >> There is a filter web part code sample in the "C:\2007 Office System >> Developer Resources\SharePoint Server 2007 SDK\Code Samples\Beta 2 TR SDK >> Samples\WebPartFiltersAndConsumers\MyWebPartLibrary" directory. The >> filter >> app they create only allows one connection at a time, as referenced by >> this >> line: >> [aspnetwebparts.ConnectionConsumer("Simple Consumer", "IFilterValues", >> AllowsMultipleConnections = false)] >> >> Perhaps you can use the sample to create something that meets your needs. >> >> -- >> -Eugene Rosenfeld >
|
|