<configure
    xmlns="http://namespaces.zope.org/zope"
    xmlns:browser="http://namespaces.zope.org/browser"
    xmlns:five="http://namespaces.zope.org/five"
    xmlns:cmf="http://namespaces.zope.org/cmf"
    xmlns:i18n="http://namespaces.zope.org/i18n"
    xmlns:zcml="http://namespaces.zope.org/zcml"
    xmlns:monkey="http://namespaces.plone.org/monkey"
    xmlns:plone="http://namespaces.plone.org/plone"
    i18n_domain="senaite.core">

  <includeDependencies package="." />

  <!-- Include permissions -->
  <include file="permissions.zcml" />

  <five:registerPackage package="." initialize=".initialize" />

  <include package=".adapters" />
  <include package=".browser" />
  <include package=".catalog" />
  <include package=".content" />
  <include package=".controlpanel" />
  <include package=".interfaces" />
  <include package=".jsonapi" />
  <include package=".monkey" />
  <include package=".subscribers" />
  <include package=".vocabularies" />
  <include package=".workflow" />

  <include file="profiles.zcml" />

  <cmf:registerDirectory name="skins" directory="skins" recursive="True" />

  <!-- Plone behavior for Dexterity based contents -->
  <plone:behavior
      title="Auto-Generate ID Beahvior for Dexterity Contents"
      description="Generates an ID with the IDServer"
      provides="bika.lims.interfaces.IAutoGenerateID"
      />

  <!-- Multicatalog Behavior for Dexterity based contents -->
  <plone:behavior
      title="Multi Catalog Behavior for Dexterity Contents"
      description="Catalog Dexterity contents in multiple catalogs"
      provides="bika.lims.interfaces.IMultiCatalogBehavior"
      />

  <!-- jquery redirects here when values are entered into 'document' context (barcodes) -->
  <browser:page
      for="*"
      name="barcode_entry"
      class="bika.lims.barcode.barcode_entry"
      permission="zope.Public"
      layer="bika.lims.interfaces.IBikaLIMS"
      />

  <!-- XXX: to be removed
       Put javascript errors in Plone log -->
  <browser:page
      for="*"
      name="js_log"
      class="bika.lims.utils.js_log"
      permission="zope.Public"
      layer="bika.lims.interfaces.IBikaLIMS"
      />

  <browser:page
      for="*"
      name="js_warn"
      class="bika.lims.utils.js_warn"
      permission="zope.Public"
      layer="bika.lims.interfaces.IBikaLIMS"
      />

  <browser:page
      for="*"
      name="js_err"
      class="bika.lims.utils.js_err"
      permission="zope.Public"
      layer="bika.lims.interfaces.IBikaLIMS"
      />

  <utility
      provides="bika.lims.interfaces.INumberGenerator"
      factory=".numbergenerator.NumberGenerator"
      />

</configure>
