collective.alias - to-do
========================

Bugs/to test
------------

  [x] File content

  [x] Image content
        - including thumbnails in folder_summary_view
  
  [x] News item images
  
  [x] Folder content
        - should retain settings of target
        - should not show children of target
  
  [x] Collections
        - criteria should continue to work
        - need to tick "allow traversal"
  
  [ ] AT references to alias
        - e.g. related item
  
  [x] Comments
        - should be shared
  
  [x] Permissions/different workflow states
        - permissions should be taken from the alias, not the target

  [x] Acquired content
        - probably wrapped in target object

  [x] Annotations (e.g. contextual portlets)
        - should be shared

  [x] Aliasing of methods

  [x] Cataloging of alias
        - alias created/renamed/moved/deleted

  [x] Cataloging when target changed
        - target created/renamed/moved/deleted/modified
  
  [x] Target moved
  
  [x] Target copied
        - alias should point to original
        - IHasAlias should not be set
    
  [x] Target deleted
        - all aliases should be removed as well
        - causes error in z3c.relationfield!
  
  [x] Alias moved
  
  [x] Alias copied
  
  [x] Alias removed
  
  [x] Name chooser
        - should be based on target id
        - must not create naming conflicts
  
  [x] Different display templates
        - default should be whatever the target has set
        - 'display' menu actions on alias should not affect target
  
Integration
-----------

 [ ] Make alias more read-only
        - hide regular edit actions/show alias @@edit view (override viewlet)
        - disallow portlet management

 [ ] Ensure alias has distinct UID
        - to allow separate references to alias and target
        - need to solve the AT->Dexterity reference problem first

Possible future functionality
-----------------------------

 [ ] Optionally keep workflow state + permissions in sync
        - set marker interface on source
        - register event handler

 [ ] Optionally mirror portlets
        - do not allow portlet management at alias
        - remove CONTEXT_ASSIGNMENT_KEY alias override

Content class hierarchy
-----------------------

    Contained
    DefaultDublinCoreImpl
        PropertyManager
    PortalContent
        DynamicType
        CMFCatalogAware
        SimpleItem
            Item
                Resource
                CopySource
                Tabs
                Traversable
                Element
                Owned
                UndoSupport
            RoleManager
    CMFOrderedBTreeFolderBase
        BTreeFolder2Base
    CMFCatalogAware
    BrowserDefaultMixin
