======================
Proposed app structure
======================

For the 0.1 release
-------------------

access_control
    models
    proxies
    dependencies   <-- tools.introspection.dependencies
    conditions     <-- access_control.tools.conditions
    filters        <-- access_control.tools.filters
    decorators     <-- access_control.tools.decorators
    lifecycle      <-- access_control.tools.lifecycle
    overload       <-- access_control.tools.overload
    remote_connections <-- access_control.tools.remote_connections
    urls
    views
    admin
    templates

access_request
    models         <-- access_control.models.AccessRequest

annotation
    admin
    models
 
cells
    models         <-- acquisition.models.cell
    
chemistry
    admin
    models

core
    modules        <-- tools.introspection.modules
    schema         <-- tools.introspection.schema
    decorators     <-- tools.decorators
    shortcuts      <-- tools.shortcuts
    loggers        <-- tools.loggers
    populate       <-- combine tools.command and tools.populate

drug_applications
    models         <-- acquisition.models.drugs

editor
    forms
    templates
    views
    urls
    widgets        <-- tools.admin_widget
    form_generator <-- tools.form_generator

electricalstimulation
    models         <-- parts of stimuli.models

electrophysiology
    models         <-- merge methods.models.electrophysiology and parts of equipment.models
    
equipment
    models         <-- merge equipment.models.core and equipment.models.setups
    admin

experiment
    models         <-- acquisition.models.core.Experiment
    views
    admin
    urls
    templates

location
    models         <-- methods.models.location

measurements
    admin
    models

optical_imaging
    models         <-- merge methods.models.optical, methods.models.optical_imaging and parts of equipment.models

neuralstructures (renamed from neural_structure)
    management
    admin
    models

people (renamed from community)
    templates
    admin
    forms
    models
    urls
    views
    fields         <-- fields.phone_number

preparations (renamed from preparation)
    admin
    models
    
recording
    models         <-- acquisition.models.core (except Experiment)
    views
    admin
    urls
    templates

signals (renamed from signal)
    models
    admin
    NOTE: actually, we should extract electrical and optical-specific classes and put them in the electrophysiology and optical_imaging apps respectively
    
species
    management
    admin
    models

stimulation
    models         <-- stimuli.models.Stimulus

storage
    management
    admin
    models
    
units
    management     <-- unit_system.management
    admin          <-- unit_system.admin
    models         <-- unit_system.models
    fields         <-- fields.physical_quantities

visualstimulation
    models         <-- parts of stimuli.models

waveforms
    models         <-- parts of stimuli.models

For later releases
------------------
    
analysis
    models
    admin
    tools          <-- needs rearranging to reduce dependencies, e.g. remove library.complex_components
    fields         <-- fields.pickle
    
elphy.connection   <-- tools.elphy_connection

hierarchy          <-- tools.introspection.hierarchy

histochemistry
    admin
    models
    
reconstruction
    models
    admin
    urls
    
trackers
    admin
    models
    urls
    views