

<QuickAppConfig Name="HighwireWorkerConfig">

 <FieldSpecs>

    <Field>
      <ID>AU</ID>
      <Name>Author</Name>
      <Type>AlphaNumeric</Type>
    </Field>

    <Field>
       <ID>TI</ID>
       <Name>Article Title</Name>
       <Type>AlphaNumeric</Type>
    </Field>

    <Field>
      <ID>TIBOOL</ID>
      <Name>Title Bool operator</Name>
      <Type>BooleanFieldOp</Type>
      <AssociatedFields>
         <AssocField ID="TI" />
      </AssociatedFields>
      <Data>
        <Choice value="AND" name="and" />
        <Choice value="OR"  name="or" />
        <Choice value="EXACT" name="exact" />
      </Data>
    </Field>

    <Field>
      <ID>KY</ID>
      <Name>Keywords</Name>
      <Type>AlphaNumeric</Type>
    </Field>

    <Field>
      <ID>KYBOOL</ID>
      <Name>Keyword Bool operator</Name>
      <Type>BooleanFieldOp</Type>
      <AssociatedFields>
         <AssocField ID="TI" />
      </AssociatedFields>
      <Data>
        <Choice value="AND" name="and" />
        <Choice value="OR"  name="or" />
        <Choice value="EXACT" name="exact" />
      </Data>
    </Field>

    <Field>
      <ID>HWIREJournalID</ID>
      <Name>HWIREJournalID</Name>
      <Type>AlphaNumeric</Type>
    </Field>

  </FieldSpecs>


  <SearchForms>
    <SearchForm name="AdvancedSearch"  >
     
     <Field ID="AU" type="text" width="50" name="Author" />

     <Field ID="TI" type="text" width="50" name="Title" >
       <FieldOp ID="TIBOOL" type="select" />
     </Field>

     <Field ID="KY" type="text" width="50" name="Keywords" >
       <FieldOp ID="KYBOOL" type="select" />
     </Field>

     <Field ID="HWIREJournalID" type="text" width="50" name="AdvancedSearchHWIREJournalID" />

     <Field ID="PageSize" type="radio" name="Page Size" >
       <Choice value="10" name="10" default="on" />
       <Choice value="20" name="20" />
       <Choice value="50" name="50" />
     </Field>

     <!-- 
     <Field ID="SortBy" type="radio" name="Sort By" >
       <Choice value="relevance" default="on" />
       <Choice value="date"  />
     </Field>
       -->

    </SearchForm>
  </SearchForms>

  <SourceType name="HighwireSpecific" type="HTMLSearchSource" displayName="Highwire Specific Journal"
              sourceFactoryClass="com.raritantechnologies.federated.html.HTMLSearchSourceFactory" 
              queryProcessor="com.raritantechnologies.federated.html.HTMLQueryProcessor" >

    <Fields>
      <Field ID="AU" xPath="/SearchProcess/Step/params/param[@formName='author1']/@value" />

      <Field ID="TI" xPath="/SearchProcess/Step/params/param[@formName='title']/@value" />
      <Field ID="TIBOOL" xPath="/SearchProcess/Step/params/param[@formName='andorexacttitle']/@value">
        <Data>
          <Choice abstractVal="AND"    sourceVal="and" />
          <Choice abstractVal="OR"     sourceVal="or" />
          <Choice abstractVal="EXACT"  sourceVal="phrase" />
        </Data>
      </Field>

      <Field ID="KY" xPath="/SearchProcess/Step/params/param[@formName='titleabstract']/@value" />
      <Field ID="KYBOOL" xPath="/SearchProcess/Step/params/param[@formName='andorexacttitleabs']/@value">
        <Data>
          <Choice abstractVal="AND"    sourceVal="and" />
          <Choice abstractVal="OR"     sourceVal="or" />
          <Choice abstractVal="EXACT"  sourceVal="phrase" />
        </Data>
      </Field>

      <Field ID="HWIREJournalID" xPath="/SearchProcess/Step/params/param[@formName='journal_set']/@value" />
    </Fields>

    <SecurityModel>
       <search>Public</search>
       <fullText>Public</fullText>
    </SecurityModel>

    <SearchProcess>
      <!-- <Step type="getURL" URL="http://protein.oupjournals.org/searchall/all.results.dtl" > -->
      <Step type="getURL" URL="http://highwire.stanford.edu/cgi/searchresults" > 
        <params>

          <param formName="sendit" value="Search" alwaysOutput="true" />
          <param formName="pubdate_year" value="" alwaysOutput="true" />
          <param formName="volume" value="" alwaysOutput="true" />
          <param formName="firstpage" value="" alwaysOutput="true" />

          <param formName="author1" value="" alwaysOutput="true" />
          <param formName="author2" value="" alwaysOutput="true" />

          <param formName="title" value="" />
          <param formName="andorexacttitle" value="and" />    <!-- choices are: or, and, phrase -->

          <param formName="titleabstract" value="" alwaysOutput="true" />
          <param formName="andorexacttitleabs" value="and" /> <!-- choices are: or, and, phrase -->

          <param formName="fulltext" value="" alwaysOutput="true" />
          <param formName="andorexactfulltext" value="and" />  <!-- choices are: or, and, phrase -->

          <!-- choices are:
               hw         HighWire-hosted journals
               ml         HighWire-hosted journals + Medline
               selected   Journals selected from list at bottom of page
            -->
          <!-- Use for SourceMap version: -->
          <param formName="src" value="selected" /> 

          <param formName="fmonth" value="Jan" />
          <param formName="fyear" value="1948" />

          <!-- Need date format here - to current month, current year -->
          <param formName="tmonth" value="Sep" />
          <param formName="tyear" value="2003" />

          <param formName="flag" value="" alwaysOutput="true" /> <!-- HWREVIEW == review articles only -->
          <param formName="RESULTFORMAT" value="1" />     <!-- 1    standard result format
                                                               3    condensed result format -->
          <param formName="hits" value="10" />            <!-- can go to 150 in increments of 10 -->
          <param formName="hitsbrief" value="25" />       <!-- can go to 150 in increments of 25 -->
          <param formName="sortspec" value="relevance" /> <!-- relevance    best match,
                                                               date         newest first -->
          <param formName="sortspecbrief" value="relevance"/> <!-- relevance    best match,
                                                                   date"        newest first -->
          <param formName="journal_set" value="" alwaysOutput="true" />
       </params>
     </Step>
   </SearchProcess>

   <PageProcess>
     <Step type="getURL" URL="http://highwire.stanford.edu/cgi/searchresults" >
       <params>
         <param formName="src"                value="selected" />
         <param formName="andorexacttitleabs" value="and" />
         <param formName="tmonth"             value="Aug" />
         <param formName="sortspec"           value="relevance" />
         <param formName="hitsbrief"          value="25" />
         <param formName="tyear"              value="2003" />
         <param formName="andorexacttitle"    value="and" />
         <param formName="andorexactfulltext" value="and" />
         <param formName="author1"            value="" />
         <param formName="author2"            value="" />
         <param formName="title"              value="" />              <!-- get from scrape -->
         <param formName="titleAbstract"      value="" />
         <param formName="fyear"              value="1948" />
         <param formName="sortspecbrief"      value="relevance" />
         <param formName="fmonth"             value="Jan" />
         <param formName="journal_set"        value="" />
         <param formName="sendit"             value="Search" />
         <param formName="RESULTFORMAT"       value="1" />
         <param formName="hits"               value="10" />
         <param formName="FIRSTINDEX"         computeFrom="(PAGE_NUM-1)*10" />  <!-- this is page param == StartRec -->
         <param formName="request_history_element"       value="0" />
         <param formName="request_history_store_element" value="false" />
       </params>
     </Step>
   </PageProcess>

    <ScraperConfigFile>HighwireScraperConfig.xml</ScraperConfigFile>

    <OutputTransformer>HighwireOutputTransform.xsl</OutputTransformer>

 </SourceType>


  <SourceType name="HighwireGeneral" type="HTMLSearchSource" displayName="Highwire General"
              sourceFactoryClass="com.raritantechnologies.federated.html.HTMLSearchSourceFactory" 
              queryProcessor="com.raritantechnologies.federated.html.HTMLQueryProcessor" >

    <Fields>
      <Field ID="AU" xPath="/SearchProcess/Step/params/param[@formName='author1']/@value" />
      <Field ID="TI" xPath="/SearchProcess/Step/params/param[@formName='title']/@value" />
      <Field ID="TIBOOL" xPath="/SearchProcess/Step/params/param[@formName='andorexacttitle']/@value">
        <Data>
          <Choice abstractVal="AND"    sourceVal="and" />
          <Choice abstractVal="OR"     sourceVal="or" />
          <Choice abstractVal="EXACT"  sourceVal="phrase" />
        </Data>
      </Field>

      <Field ID="KY" xPath="/SearchProcess/Step/params/param[@formName='titleabstract']/@value" />
      <Field ID="KYBOOL" xPath="/SearchProcess/Step/params/param[@formName='andorexacttitleabs']/@value">
        <Data>
          <Choice abstractVal="AND"    sourceVal="and" />
          <Choice abstractVal="OR"     sourceVal="or" />
          <Choice abstractVal="EXACT"  sourceVal="phrase" />
        </Data>
      </Field>
    </Fields>

    <SecurityModel>
       <search>Public</search>
       <fullText>Public</fullText>
    </SecurityModel>

    <SearchProcess>
      <!-- <Step type="getURL" URL="http://protein.oupjournals.org/searchall/all.results.dtl" > -->
      <Step type="getURL" URL="http://highwire.stanford.edu/cgi/searchresults" > 
        <params>

          <param formName="sendit" value="Search" alwaysOutput="true" />
          <param formName="pubdate_year" value="" alwaysOutput="true" />
          <param formName="volume" value="" alwaysOutput="true" />
          <param formName="firstpage" value="" alwaysOutput="true" />

          <param formName="author1" value="" alwaysOutput="true" />
          <param formName="author2" value="" alwaysOutput="true" />

          <param formName="title" value="" />
          <param formName="andorexacttitle" value="and" />    <!-- choices are: or, and, phrase -->

          <param formName="titleabstract" value="" alwaysOutput="true" />
          <param formName="andorexacttitleabs" value="and" /> <!-- choices are: or, and, phrase -->

          <param formName="fulltext" value="" alwaysOutput="true" />
          <param formName="andorexactfulltext" value="and" />  <!-- choices are: or, and, phrase -->

          <!-- choices are:
               hw         HighWire-hosted journals
               ml         HighWire-hosted journals + Medline
               selected   Journals selected from list at bottom of page
            -->
          <!-- Use for SourceMap version: -->
          <param formName="src" value="hw" /> 

          <param formName="fmonth" value="Jan" />
          <param formName="fyear" value="1948" />

          <!-- Need date format here - to current month, current year -->
          <param formName="tmonth" value="Sep" />
          <param formName="tyear" value="2003" />

          <param formName="flag" value="" alwaysOutput="true" /> <!-- HWREVIEW == review articles only -->
          <param formName="RESULTFORMAT" value="1" />     <!-- 1    standard result format
                                                               3    condensed result format -->
          <param formName="hits" value="10" />            <!-- can go to 150 in increments of 10 -->
          <param formName="hitsbrief" value="25" />       <!-- can go to 150 in increments of 25 -->
          <param formName="sortspec" value="relevance" /> <!-- relevance    best match,
                                                               date         newest first -->
          <param formName="sortspecbrief" value="relevance"/> <!-- relevance    best match,
                                                                   date"        newest first -->
          <param formName="journal_set" value="" alwaysOutput="true" />
       </params>
     </Step>
   </SearchProcess>

   <PageProcess pageSize="10" mapFrom="/Records/Page/NextPageLink" method="getStringMap" >
     <Step type="getURL" URL="http://highwire.stanford.edu/cgi/searchresults" >
       <params>
         <param formName="src"                value="selected" />
         <param formName="andorexacttitleabs" value="and" />
         <param formName="tmonth"             value="Aug" />
         <param formName="sortspec"           value="relevance" />
         <param formName="hitsbrief"          value="25" />
         <param formName="tyear"              value="2003" />
         <param formName="andorexacttitle"    value="and" />
         <param formName="andorexactfulltext" value="and" />
         <param formName="author1"            value="" />
         <param formName="author2"            value="" />
         <param formName="title"              value="" />              <!-- get from scrape -->
         <param formName="titleAbstract"      value="" />
         <param formName="fyear"              value="1948" />
         <param formName="sortspecbrief"      value="relevance" />
         <param formName="fmonth"             value="Jan" />
         <param formName="journal_set"        value="" />
         <param formName="sendit"             value="Search" />
         <param formName="RESULTFORMAT"       value="1" />
         <param formName="hits"               value="10" />
         <param formName="FIRSTINDEX"         computeFrom="(PAGE_NUM-1)*10" />  <!-- this is page param == StartRec -->
         <param formName="request_history_element"       value="0" />
         <param formName="request_history_store_element" value="false" />
       </params>
     </Step>
   </PageProcess>

    <ScraperConfigFile>HighwireScraperConfig.xml</ScraperConfigFile>
    <OutputTransformer>HighwireOutputTransform.xsl</OutputTransformer>

 </SourceType>

</QuickAppConfig>
