All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.sakaiproject.citation.api.ConfigurationService Maven / Gradle / Ivy

There is a newer version: 23.3
Show newest version
/**********************************************************************************
 * $URL:
 * $Id:
 ***********************************************************************************
 *
 * Copyright (c) 2006, 2007, 2008 The Sakai Foundation
 *
 * Licensed under the Educational Community License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *       http://www.opensource.org/licenses/ECL-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 **********************************************************************************/

package org.sakaiproject.citation.api;

import java.util.Collection;
import java.util.List;
import java.util.Locale;
import java.util.Map;

import org.sakaiproject.citation.util.api.OsidConfigurationException;

/**
 * Repository OSID configuration
 */
public interface ConfigurationService
{
  /** 
   * Maximum number of databases to be searched at one time.  
   *
   * Eight is the value used in the original implementation - it's compatible 
   * with both the Ex Libris Xserver and the Sirsi Web2 Bridge.
   */
  public static final int SEARCHABLE_DATABASES = 8;
  
  /**
   * Fetch the appropriate XML configuration document for this user
   * @return Configuration XML (eg file:///tomcat-home/sakai/config.xml)
   */
  public String getConfigurationXml() throws OsidConfigurationException;

  /**
   * Is the configuration XML file provided and readable
   * @return true If the XML file is provided and readable, false otherwise
   */
  public boolean isConfigurationXmlAvailable();

  /**
   * Fetch the appropriate XML database hierarchy document for this user
   * @return Hierarchy XML (eg file:///tomcat-home/sakai/database.xml)
   */
  public String getDatabaseHierarchyXml() throws OsidConfigurationException;

  /**
   * Fetch the identifiers for all XML database hierarchy documents known
   * to the ConfigurationService.
   * @return Hierarchy XML (eg file:///tomcat-home/sakai/database.xml)
   */
  public Collection getAllCategoryXml();

  /**
   * Is the database hierarchy XML file provided and readable
   * @return true If the XML file is provided and readable, false otherwise
   */
  public boolean isDatabaseHierarchyXmlAvailable();

  /**
   * Fetch the reference string for the folder in ContentHosting containing
   * the config files, or null if access from CHS is not enabled.
   * @return the reference string (eg /content/group/citationsAdmin/config/)
   */
  public String getConfigFolderReference();

  /**
   * Fetch the collection-id for the folder in ContentHosting containing
   * the config files, or null if access from CHS is not enabled.
   * @return the resource-id string (eg /group/citationsAdmin/config/)
   */
  public String getConfigFolderId();

  /**
   * Fetch this user's group affiliations
   * @return A list of group IDs (empty if no IDs exist)
   */
  public List getGroupIds() throws OsidConfigurationException;

  /**
   * Fetch the site specific Repository OSID package name
   * @return Repository Package (eg org.sakaibrary.osid.repository.xserver)
   */
  public String getSiteConfigOsidPackageName();

  /**
   * Fetch the site specific extended Repository ID
   * @return The Repository ID
   */
  public String getSiteConfigExtendedRepositoryId();

  /**
   * Fetch the meta-search username
   * @return the username
   */
  public String getSiteConfigMetasearchUsername();

  /**
   * Fetch the meta-search password
   * @return the username
   */
  public String getSiteConfigMetasearchPassword();

  /**
   * Fetch the meta-search base-URL
   * @return the base URL
   */
  public String getSiteConfigMetasearchBaseUrl();

  /**
   * Fetch the OpenURL label
   * @return the label text
   */
  public String getSiteConfigOpenUrlLabel();

  /**
   * Fetch the OpenURL resolver address
   * @return the address (domain name or IP)
   */
  public String getSiteConfigOpenUrlResolverAddress();

  /**
   * Fetch the Google base-URL
   * @return the URL
   */
  public String getSiteConfigGoogleBaseUrl();

  /**
   * Fetch the Sakai server key
   * @return the key text
   */
  public String getSiteConfigSakaiServerKey();

  /**
   * How should we use "preferred" URLs found by Library Search?
   * @return "false", "related-link", or "title-link"
   */
  public String getSiteConfigUsePreferredUrls();
  
  /**
   * Prefix string for "preferred" URLs (when used as title or related links).  
   *
   * This is likely to be the proxy information for the direct URL.
   *
   * @return The prefix String (null if none)
   */
  public String getSiteConfigPreferredUrlPrefix();

  /**
   * Get the maximum number of databases we can search at one time
   */
  public int getSiteConfigMaximumSearchableDBs();

  /**
   * Enable/disable Citations Helper by default
   * @param state true to set default 'On'
   */
  public void setCitationsEnabledByDefault(boolean state);

  /**
   * Is Citations Helper by default enabled?
   * @return true if so
   */
  public boolean isCitationsEnabledByDefault();

  /**
   * Enable/disable site by site Citations Helper override
   * @param state true to enable site by site Citations Helper
   */
  public void setAllowSiteBySiteOverride(boolean state);

  /**
   * Is site by site Citations Helper enabled?
   * @return true if so
   */
  public boolean isAllowSiteBySiteOverride();

  /**
   * Enable/disable Google support
   * @param state true to enable Google support
   */
  public void setGoogleScholarEnabled(boolean state);

  /**
   * Is Google search enabled?
   * @return true if so
   */
  public boolean isGoogleScholarEnabled();

  /**
   * Enable/disable library search support
   * @param state true to enable support
   */
  public void setLibrarySearchEnabled(boolean state);

  /**
   * Is library search enabled for any users?
   * @return true if so
   */
  public boolean isLibrarySearchEnabled();

  /**
   * Is library search enabled for the current user?
   * @return true if so
   */
  public boolean librarySearchEnabled();

  /**
   * Enable/disable the external search support.
   * @param state true to enable support.
   */
  public void setExternalSearchEnabled(boolean state);
  
  /**
   * Is the external search support enabled.
   * @return true if so
   */
  public boolean isExternalSerarchEnabled();
  
  /**
   * Set the URL which the external search is deployed on.
   * @param url 
   */
  public void setExternalSearchUrl(String url);
  
  /**
   * Get the current URL for the external search.
   * @return
   */
  public String getExternalSearchUrl();

  /**
   * Accesses the mapping for savecite clients. Keys in the mapping will be locale identifiers, and 
   * values will be a list of clients, where each client is a Map object with key-value 
   * pairs for significant settings for a search source. The keys should include the following to fully 
   * configure a search source:
   * 
    *
  • id, where the value is an identifer that is unique within this list of clients (i.e. within * the list of clients defined for the current locale.
  • *
  • searchurl_base - The base URL used to access the search source. This should NOT include a * separator ('?') or any request parameters. One or two query parameters will be added to the base * URL - linkurl_base and linkurl_id. The value of the linkurl_base will be the URL for the savecite * servlet in this sakai instance (See {@link org.sakaiproject.citation.api.SearchManager.getSaveciteUrl(String, String)}). The linkurl_id, if provided, is an identifer used by the search * source to identify this sakai instance.
  • *
  • linkurl_id - A short string that, if present, is included as the value for the "linkurl_id" query * parameter as described above.
  • *
  • searchurl_label - A short string that will be used as the label on the button that launches * a search in the search source.
  • *
  • searchurl_description - A description of the search to help users choose which search to use.
  • *
  • return_label - The label that will appear on a button in the confirmation dialog that users will * see after saving a citation from search results. This button takes the user back to the search results * in the same window.
  • *
  • close_label - The label that will appear on a button in the confirmation dialog seen by users * after saving a citation from the search results. This button closes the window in which the search * results were shown, effectively returning the user to the "add citation" dialog in the main window.
  • *
  • window_width - the width in pixels of the dialog in which the search source will be shown.
  • *
  • window_height - the height in pixels of the dialog in which the search source will be shown.
  • *
* @return */ public Map>> getSaveciteClients(); /** * * @param locale * @return */ public List> getSaveciteClientsForLocale(Locale locale); /** * Access the current setting for the number of seconds between AJAX requests to check for updates * of the main window during a session searching for citations in a savecite client window. * @return the number of seconds between requests. */ public String getSecondsBetweenSaveciteRefreshes(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy