2008-03-28 Andreas Jung (yet@gmx.de)

    * filter out dupes with bibliography_view based on their title

	* restrict bibliography_view to all items within the current subtree
	  in order to provide local bibligraphy listings
	  

2006-01-05  Mike Gabriel <m.gabriel@sunweavers.net>

	* i18n files for de/en are done and should be always co-maintained
          when changing anything in schema texts or skins!!!

        * loads of minor bugs fixed while translating and proof-reading

2006-12-24  Mike Gabriel <m.gabriel@sunweavers.net>

	* Added slective enable/disable capabilities for
	  PDF upload policies:
	  
	  - disable PDF upload completely (bibliography tool)

	  - select individual bibref types that support PDF
	    upload (bibfolder schema)

	  - define defaults for type-based selective PDF upload 
	    feature in bibliography tool


2006-10-20  Raphael Ritz <r.ritz@biologie.hu-berlin.de>

	* Introduced "BaseEntry.AuthorItems" to return a list of 
	  individual author strings. Also introduced a new keyword index
	  with the same name. This should make it easier now to search
	  the portal catalog for publications of a specific author
	  (e.g., from the 'AuthorsCriterion' of the new bib-topic).
	
	Make sure to reinstall the product for the catalog extension
	to take effect.

2006-10-02 Mike Gabriel <m.gabriel@sunweavers.net>

	* MERGE: duplicates-branch -> trunk

	* FEATURES: 
		
	  - added folder type DuplicatesBibliographyFolder	

	  - duplicates now are proper bibref item objects in a
	    sub-DuplicatesBibliographyFolder.

	  - duplicates management engine can be en-/disabled on a
	    per-folder-basis

	  - duplicates management rules now also apply to cut+copy+paste
	    actions

	  - list of duplicates and matches can be updated on manage duplicates page

2006-09-28 Mike Gabriel <m.gabriel@sunweavers.net>

	
	* migration: added general schema upgrade code to migration section (for 'annote' field)

	* schema:added a dummy id field that is shown when id-cooking after bibref edit is
	  enabled, it tells the user, that (s)he cannot change a bibref item's ID.

	* PDF renderer: fixed PDF renderer (it exported only a single item from bibliotopics)

2006-09-21 Mike Gabriel <m.gabriel@sunweavers.net>

	* MERGED: incorporated-pdffile-branch -> trunk
	
	* FEATURES:
	
	  - PDF files are now uploaded into the reference item, but stored in 
	    separate PDF file objects in the PDF folder (as it used to be)
	    
	  - moving, copying, pasting, renaming of bibref items does the same with 
	    PDF files
	    
	  - ID cooking is done for both: bibref item and PDF file
	  
	  - local roles (Owner) is kept in sync (when inferring author references)
	  
	  - creators metadata field of PDF files is kept in sync (when inferring author references)
	  
	  - keeping the PDF files in sync with bibref items can be disabled in 
	    bibliography tool configlet (no recommended)
	    
	* LINGUAPLONE: add-on products that re-register bibref types (schema patches) 
	  should check Products.CMFBibliographyAT.config.CMFBAT_USES_LINGUAPLONE to decide on
	  importing from Archetypes.public or LinguaPlone.public
	  
	* Member Reference Support: in the bibliography tool configlet you can now
	  explicitly select the attribute to perform the fulltext search on when search 
	  for author names.
	  
	* fix: the inferring of member references can now distinguish between different surnames of 
	  authors and distinguishes properly between firstnames and lastnames  
	
	* import tab: is now a document_action

	* icons: renamed icons, added new icon for bibliography export, PDF
	  Folder, bibliography import

	* tests: added testPdfFolder

	* tests: repaired and activated testMemberAuthorReferences (formerly testMemberAuthors)

2006-09-06 Mike Gabriel <m.gabriel@sunweavers.net>

	* IdCooking: ID cooking after creation/edit has been moved
	  into a Python Script and runs with proxy role 'Manager'. This is 
	  needed if the owner of the to-be-renamed (setId) BibRefItem is
	  not owner of the parent bibliography folder.

	* Owners/Creators: added two more boolean properties to the
	  bibliography tool that control whether being author of an item
	  implies becoming creator / owner of the item. Adding authors 
	  as owners to local roles is performed in a Python Script that runs 
	  with proxy role 'Manager'.

	  	authorof_implies_owner
		authorof_implies_creator

	  The equally named variables in config.py have been removed.

	  Also added fields in member reference support plone configlet that
	  control the resp. properties.

	  To let this work, member reference support and inferral of 
	  authors -> members has to be enabled.

	* portal tabs: the sharing tab will only be shown, if the
	  authenticated member has sufficient privileges to work on
	  local roles.

	* bibliography_import: the bibliography_import.cpy script does not 
	  any longer run with proxy role 'Manager'. This was a security breach
	  in CMFBibliographyAT v0.8.
	  
2006-09-05 Mike Gabriel <m.gabriel@sunweavers.net>

	* BibTool: added two more properties:

		- infer_author_references_after_edit 
		- infer_author_references_after_import

	  These are portal wide switches that control the 
	  inferral of author names -> member references. They only work
	  if member references support is enabled.

	* Bibliography Setup: added resp. checkbox to the member references
	  support plone configlet page

	* authorField: If member reference support is enabled on your site the 
	  author names + homepage are derived from the member reference in
	  the pre_validate method of your reference item. If this has already been 
	  done and you want to update author names / homepage, then put a '?' into the 
	  resp. author widget's subfield.
	  
2006-08-28 Mike Gabriel <m.gabriel@sunweavers.net>

	* BookReference: setDetailsFromISBN now works on object creation, 
	  just enter the isbn number, leave out the required fields(!)
	  and the rest will be done by the amazon_tool.

	* BookReference: the "set details from amazon" tab will only be shown if an ISBN is
	  specified

2006-08-27 Mike Gabriel <m.gabriel@sunweavers.net>

	* Pluggable ID Cooking: merged pluggable-idcooker-branch into trunk
	
	  Features:
	  
	    For each bibfolder you can select:
	  
	    o an individual ID cooking method
	    o force ID cooking on import (as opposed to using parser IDs)
	    o force ID cooking on bibref item creation TTW 
	    o force ID re-cooking on every bibref item edit 
	  
	    Site-wide settings:
	  
	    o set defaults for new bibfolders (ID cooking method, ID cooking on create, 
	      on every edit, on import)
	    o enable / disable ID cookers site-wide

2006-08-19 Mike Gabriel <m.gabriel@sunweavers.net>

	* skins: added configlet page sceleton for id cooker setup

	* idcookers: renamed "default" idcooker to "plone" idcooker

2006-08-15 Mike Gabriel <m.gabriel@sunweavers.net>

	* pluggable IdCookers: added framework for pluggable id cooking to 
	  bibliography tool

2006-08-13 Mike Gabriel <m.gabriel@sunweavers.net>

	* skins: added select field for output encoding to export 
	  bibliography page and defined the bibexport form as a 
	  macro that can be used from within other bib products. 

	  Now you can select your custom output encoding on each 
	  export. As default output encoding the select field provides the
	  encoding configured by the portal manager in the plone configlet
	  of the bibliography tool.
	  
2006-08-11 Mike Gabriel <m.gabriel@sunweavers.net>

	* skins: bugfix in Bibliography Setup plone configlet

	* schema: abstract field -> RichWidget (visual editor), Description 
	  is a copy of abstract field, but in plain text.

	* ConferenceReference: added new reference type ConferenceReference 
	  (to be more inspired by BiBTex).

2006-08-09 Mike Gabriel <m.gabriel@sunweavers.net>

	* parsers/renderers: 
		
		- added PropertyManager to all parsers/renderers
		- added isEnabled() method and renderer_enabled / 
		  parser_enabled to all r+p
		- added Description() method to all renderers and parsers. 
		  It looks for a translation msgid in a parser/renderer 
		  specific i18n-domain, if not available, it take the 
		  class's __doc__ string. i have chosen the 
		  i18n-domain-specific-thing to make it possible to have
		  third-party renderers and parserers developed that also 
		  support i18n in the description text.

	* skins: import / export page template show Description()s, parsers and 
	  renderers are sorted alphabetically. The object's Title() and Description() 
	  is now also displayed on export / import pages.

	* renderers: added default_output_encoding property to all renderers.
	  Now you can set the default output encoding of text export in the 
	  renderer's PropertyManager (ZMI).

	* TODO: 
	 	- write a plone configlet for default_output_encoding + 
		  enable/disable of r+p
		- add an encoding selector to bibexport page templates (to
		  override the default_output_encoding)
		- create i18n template files for renderers / parsers
	    
	* renderers: extended functionality of renderers. In order 
	  to make them work properly with ATBiblioTopic, ATBiblioList, 
	  they also have to accept a list of bibref items to render.

	  If the bibliotopic/bibliolist hands itself over to the parser 
	  as first object, it will be ignored (i.e. not rendered), but 
	  its title and URL will be taken into account (e.g. on creation of a
	  PDF export file).

	* issue #16 closed: editor_flag will no longer be ignored. For 
	  bibliostyles, there is currently only a fix of this issue in 
	  	
		ATBiblioList/branches/bibliotopic-branch/ATBiblioStyles
	
	  available.

	* bugfix: some bibref items' source_fields still contained deprecated 
	  'type' field; changed to 'publication_type'.

2006-08-08 Mike Gabriel <m.gabriel@sunweavers.net>

	* CMFMember support: now the code has been tested with 
	  CMFMember 1.1b2 on Plone 2.1.3.

	  Make sure to explicitly (re-)enable member reference support 
	  in the bibliography setup (plone configlet) AFTER you have 
	  installed CMFMember.

2006-08-07 Mike Gabriel <m.gabriel@sunweavers.net>

	* Translatable Bibliography: added two boolean switches to 
	  the bibliography tool that can be used to enable/disable
	  LinguaPlone support.

	* BibFolders/BibrefItems: added an isTranslatable() method that overrides
	  PLONE's default isTranslatable.py script. It additionally queries the 
	  translatability configuration of the bibliography setup.

	* prefs_bibliography_memberrefsupport_form.cpt: Added the respective 
	  radio buttons that configure translatability to the plone configlet 
	  (Bibliography Setup - Details)	  

	* inferAuthorReferences: complete rewrite of the code, takes several
	  information into account (member type fields, authors field,
	  Title()), before it gives up.

	* inferAuthorReferences: also sets the creators field (if available),
	  added a switch AUTHOROF_IMPLIES_CREATOR to config.py

	* member reference support: made the mechanism LinguaPlone robust.
	  If the referred to member type is a multi-lingual object, we 
	  now always refer to the canonical object. We also derive the author
	  data from the canonical object.

	  The reference that is stored in the author schema is also a
	  reference to the member type's canonical object.

	  The getSiteMember method also generates an author list (for the 
	  selector) that goes back to contents of the resp. the canonical 
	  objects.

	  The necessary changes occur in BaseEntry.getSiteMembers() and 
	  BaseEntry.pre_validate() and BaseEntry.inferAuthorReferences

	* getMembers: commented out the getMembers method, as it does not really 
	  seem to be used, seems to be working fine without...

	* parsers/renderers: added the proposed isAvailable() method to
	  parsers and renderers. isAvailable() is always True in the base code
	  of parsers and renderers, but can be overriden in the parsers' /
	  renderers' specific code snippets. Target use of isAvailable() is a
	  pre-check, if all requirements for usage of a specific parser /
	  renderer are fullfilled (e.g. AmazonTool installed and configured,
	  TODO: LaTeX installed, etc.).

2006-08-06 Mike Gabriel <m.gabriel@sunweaves.net>

	* authorSchema: added subfield_maxlength for home_page subfield
	  (set to 300).
	
	* BaseEntry: commented out everything that had to do with 
	  updateMemberPublicationAuthors. It looks like it is dead 
	  end code. Seems to be working fine without.

	* BaseEntry: rewrote of the pre_validate method. It only took 
	  _name_from_reference() method into account, but ignored the 
	  getAuthorDataFromMember.py script in skins/bibliography/.
	  
	  now pre_validate() method first looks at the script result and
	  only if this results in no author's lastname, it then considers 
	  the _name_from_reference() method.
	  
	* BibliographyTool: added a new bib_tool property called 'select_members_attr': 
	  until now the reference selection selector of the authors schema only showed 
	  the Title() or getId(). With this new tool property, it is now possible to 
	  be more precise on what should be displayed in the reference selcetor of the 
	  authors widget.

	* plone bibtool configlet: added the resp. plone configlet block for 
	  'select_members_attr' to the bib_tool configuration.

	* migration: removed the old, commented out migrateAuthorSchema code

	* utils.py: moved _encode() and _decode() from folder.py to utils.py

2006-08-05 Mike Gabriel <m.gabriel@sunweavers.net>

	* BookReference:
		- introduced Amazon's valid-license-key feature to BookReference
		- after setting details from amazon we have to reindex the BookReference
		  object
		- the ASIN search is now always called with locale 'us' (the date
		  parsing fails with locale 'de').
		- now the month is extracted correctly from the date field

	* ISBN parser:
		- made the ISBN parser valid-license-key awarer (AmazonTool)
		- using locale 'us' for all ASIN search queries (override
		  AmazonTool setup)  

2006-08-04 Mike Gabriel <m.gabriel@sunweavers.net>

	* BibliographySetup: refactored the bib tool plone configlet (esp.
	  introduced the member reference support configuration into the 
	  plone configlet. TODO: write some "About CMFBAT"

2006-08-03  Mike Gabriel <m.gabriel@sunweavers.net>

	* WebpublishedReference: as it is essential for this bibref type
	  the URL of WebpublishedReferences is included in the default 
	  source method.

	* bibfolder base_view: slightly changed the behaviour of the
	  getIntro()/default view. The Description() now is always 
	  displayed (as documentDescription CSS class); the intro 
	  text can now contain html tags.

2006-08-02  Mike Gabriel <m.gabriel@sunweavers.net>

	* NOTE: schema update!!! reinstall your product!!!

	* the way fields are declared as "required" fields has changed:

	    o the required fields used to be static (defined on a per field basis)
	    o now the required flag is set only after the SourceSchema has been composed
	      right before the class is defined.
	    o the XXXRefernceSchema always has to be a copy of the original schemas
	  
	* schemata: for all content types several changes in the schema have been applied (fields have been added):
	  
	    article.py:    source_fields = ('journal', 'volume', 'number', 'pages', 'pmid')
	    booklet.py:    source_fields = ('howpublished',)
	    book.py:    source_fields = ('publisher', 'address', 'edition', 'volume', 
	                                'number', 'isbn')
	    inbook.py:    source_fields = ('booktitle', 'editor', 'publisher', 'address', 
	                                   'edition', 'series', 'chapter', 'pages')
	    incollection.py:    source_fields = ('booktitle', 'editor', 'volume', 'number', 
	                                         'type', 'publisher', 'address', 'edition', 
						 'series', 'chapter', 'pages')
	    inproceedings.py:    source_fields = ('booktitle', 'editor', 'volume', 'number',  
	                                          'chapter', 'pages', 'publisher', 'organization', 
						  'address', 'edition', 'series',)
	    manual.py:    source_fields = ('organization', 'address', 'edition')
	    mastersthesis.py:    source_fields = ('school', 'address')
	    misc.py:    source_fields = ('howpublished',)
	    phdthesis.py:    source_fields = ('school', 'address')
	    preprint.py:    source_fields = ('preprint_server', )
	    proceedings.py:    source_fields = ('publisher', 'address', 'volume', 
	                                        'number', 'organization', 'series')
	    techreport.py:    source_fields = ('institution', 'type', 'number', 'address')

	  the Source() methods of all bibref item types has been rewritten, still needs 
	  improvement.
														  
	* typeField: the id of the typeField has been renamed to 'publication_type' 
	  in order to avoid name collision with a definition in Archetypes's BaseObject class:
	  
	    schema = type = content_type
															  
	* content: IncollectionReference and InProceedingsReference used 
	  to be clones of InbookReference. The three bibref item times differ in 
	  required fields as well as slightly in the field composition 
	  (referred to BibTex way of bibliography administration).
	
	* Extensions/Install: the ActionIcon tool is pretty picky with already 
	  existing icons, and easily causes product install to fail with a 
	  KeyError: 'Duplicate definition!'.
	
	  To avoid this, the removeActionIcons function is called on install AND uninstall
	
	    o ('plone', 'downloadBib') -> deprecated, has been renamed to exportBib
	    o ('plone', 'exportBib'),
	    o ('plone', 'download_pdf') -> just in case uninstall ai remove failed on product 
	      uninstall
	    o ('controlpanel', 'BibliographySetup') -> in case of an error raised after adding 
	      the bibliography tool during last product instal
	      
	* ImportCriteriasManager: the old 'publication_type' criterion name has 
	  been renamed to 'reference_type' in order to give way to the new typeField 
	  id 'publication_type' in several bibref item types.
	
	    THIS CHANGE IS MIGHT BREAK YOUR PRODUCTS!!!
	
	  plz adapt your products if based on CMFBibAT.
	  
	* bibliography tool: renamed needsUpgrade to needsAuthorSchemaUpgrade
	  analogous for upgrade method itself... this code will move into the 
	  migration section of this product soon
	  
	* reworked some tests, added tests for the bibtex parser
	
	* cmf08to09: added more migration code for 0.8 -> 0.9
	
	    (1)
	    test if the ImportCriteriasManager needs an upgrade, if so:
	
		'publication_type' -> 'reference_type' (means bibref_item.meta_type)
		'type' -> 'publication_type' (means new typeField id)
	    
	    (2)
	    updateSchema of typeField
	    
	        o get old typeField values (id='type'), 
	        o store it in new typeField
		o delete the old 'type' attribute from the object
		
	* bibtex parser: on bibtex import, INBOOKs need a slightly different import mapping, 
	  as opposed to IncollectionReferences and InproceedingsReferences:
	
	        BIBTEX title   -> CMFBAT booktitle,
		BIBTEX chapter -> CMFBAT chapter
		                  and
		                  CMFBAT title

	* bibtex parser: the BibTex 'type'field has to be mapped to CMFBAT 'publication_type' 
	  in the result dict of the parser (cf. migration code add-ons)
	
	* all parsers: renamed the 'publication_type' result dict key to 'reference_type'
	
	* citationmanager parser: added a preprocess method that strips off all <CR> values from 
	  the incoming source file -> fixes tests/testCitationManagerParser.py	  

        * bibtex parser: added 'aq_base' to 
	    
	    url = entry.aq_base.getURL()
	
	  -> fixes tests/testBibliographyFolder.py

2006-07-18  Mike Gabriel <m.gabriel@sunweavers.net>

	* A BookReference and ProceedingsReference can have either editors or authors. When 
	  exporting a bibtex @BOOK with the editor field set, this was not acknowledged by 
	  the BibtexParser. The "authors" field ended up empty and the "editor_flag" unset.
	  -> FIXED (editors of books and proceedings can now as well be imported into
	  CMFBibliographyAT: bibtex editors are taken as "authors" and the "editor_flag" 
	  is set.)

2006-07-18  Mike Gabriel <m.gabriel@sunweavers.net>

	* In BiBTeX files, all elements outside of @REFTYPE{...} are considered as comments (so
	  called "outside BiBTeX code").
	  Thus, "inside BiBTeX code" has to be seperated from outside code by the parser. This functionality
	  has been implemented as a completely rewritten stripComments() method in the BibtexParser
	  class.
	  Furthermore the old stripComments() method called in the BiBTeX parser was aimed at
	  removing all "^%.*$" lines... But this would apply to latex code, not BiBTeX code!!!
	  
	* If the bibtex parser encounters TABs or NEWLINES as opposed to blank characters
	  between lastname und firstname (or initials) of authors then the imported author list
	  will end up corrupt. a general patch has been applied to the last line in the bibtex
	  parser's clean() method.

	* The last entry in a bibtex file always had a trailing ",". FIXED.

2006-07-18  Mike Gabriel <m.gabriel@sunweavers.net>

	* when checking for duplicates (e.g. on bibtex import) in bibfolders
	  containing PDF files an error was raised.
	  This fix adds a filter in BaseBibliographyFolder.isDuplicate()
	  when calling <folder_obj>.getContentValues(), so that bibfolder
	  objects are only returned for duplicate checking if they are
	  known to portal_bibliography (i.e. returned by portal_bibliography's
	  getReferenceTypes() method).

2006-06-08  Raphael Ritz <r.ritz@biologie.hu-berlin.de>

	* Fixed http://plone.org/products/cmfbibliographyat/issues/15
	  first attempt at least; this is somewhat trickey because
	  CMFBib provides 'getURL' with a different semantics compared
	  to catalog brains which are checked for by some of Plone's
          default macros by looking for 'getURL' explicitly :-(

2006-05-29  Raphael Ritz <r.ritz@biologie.hu-berlin.de>

	* Support the recent addition of 'additionalReferenceInfo' for
	  the ATReferenceBrowserWidget.

2006-05-02  Frank Bennett <bennett@nomolog.nagoya-u.ac.jp>

	* Eliminated space after string: in action definition.
	  Bibliography tab now receives the highlight when selected.

2006-03-28  Raphael Ritz <r.ritz@biologie.hu-berlin.de>

	* Updating README. 
	  This closes http://plone.org/products/cmfbibliographyat/issues/3

2006-03-07  Raphael Ritz <r.ritz@biologie.hu-berlin.de>

	* Merged the duplicate handling branch.

2006-01-11  Raphael Ritz <r.ritz@biologie.hu-berlin.de>

	* Fixed http://plone.org/products/cmfbibliographyat/issues/1

2006-01-11  Raphael Ritz <r.ritz@biologie.hu-berlin.de>

	* Merged Tim's atbib branch; ATBiblioLists can now support
	  imports into an associated bibliographic folder.

2006-01-10  Raphael Ritz <r.ritz@biologie.hu-berlin.de>

	* Fixed the broken tests.

	* Added support for configuring member content types
	  for author references on the tool.

	* Fixed permission issue with 'listFolderContents' by 
	  calling 'folderlistingFolderContents' now in
	  'bibliographyfolder_view'.

	* Enabled 'bibliographyfolder_view' for large bibliography
	  folders as well.

2005-12-23  Raphael Ritz <r.ritz@biologie.hu-berlin.de>

	* Added and registered custom transformation (bibaware2html)

	Together with today's fix of PortalTransforms/TransformEngine
	to make policies work any 'text/x-html-safe' text is now
	bib-aware. Maybe we shouldn't do it per default but somehow
	controlled in the config but currently I don't care too much.

2005-12-02 Raphael Ritz <r.ritz@biologie.hu-berlin.de>

	* Added explicit security declarations to all content types.

2005-11-28 Raphael Ritz <r.ritz@biologie.hu-berlin.de>

	* Moved all source formatting methods from the skin layer
	  to their respective classes.

	  The defaults are more sensible now if no skins are available.
	  Overriding TTW is still possible by providing methods
	  with the appropriate names (e.g., 'ArticleSource' for the
	  article reference type).

	  Existing customizations should continue to work as before.

2005-11-08 Raphael Ritz <r.ritz@biologie.hu-berlin.de>

	* Register custom mime type (text/x-html-bibaware)
	  on product install

	* Added and registered custom transformation (html2bibaware)
	
	  Now inline citations are also supported via specifying
	  the default_output_type as 'text/x-html-bibaware' on
	  any AT TextField.

2005-09-14 Raphael Ritz <r.ritz@biologie.hu-berlin.de>

	* Enabled explicit entity replacement for the BibTeX renderer.

	* Merged the 'bibtex-marshaller' branch (r 8896:11859) into trunk.

	* fixed last broken test

	* Added Portuguese translation (thanks to J Esteves)

	* some package restructuring

	* start the ChangeLog

(all prior history seems to be lost - if it ever existed)

	
