Changelog
=========

19/11/2010 - 0.12.6
-------------------

    - more debug messages in zopeRequest for proxy connection

17/11/2010 - 0.12.5
-------------------

    - automatic proxy detection => all OS !
    - integration of new metadata received from server
    - more logs in zopeRequest
    - more debug logs
    - log level debug by default

17/11/2010 - 0.12.4
-------------------

    - update man page
    - remove useless plugins
    - coding rules / cleanup
    - add lock file detection support for gvim
    - remove calls to os.spawnvp (deprecated)

10/11/2010 - 0.12.3
-------------------

    - add pythonwin windows libs

10/11/2010 - 0.12.2
-------------------

    - fix bug related to proxy + ssl starting from python2.5
    - remove libs that are included in MS Redistributable : it seems that they
      are useless when redistributable is installed, and they can't avoid
      installing redistributable

09/11/2010 - 0.12.1
-------------------

    - switch to python 2.6 for windows
    - bugfix in gettext initialization
    - encode the file's title into the system encoding
    - add missing dll mfc90.dll provided and mandatory for python2.6
    - unlock the file before the edition end confirmation message
    - default lock duration is 1 day instead of 1 week
    - support for digest authentification (contrib from David Versmisse)
    - bugfix in debug messages
    - windows : make message boxes system modal
    - contributors
    - translations update

03/11/2010 - 0.12.0
-------------------

    - Translations added (French + English)
    - fix bug in translations in order to provide utf-8 to all popup messages
    - simplify the message when everything was ok : inform the user that the
      edition is closed and ok instead of asking questions.

20/05/2010 - 0.11.0
-------------------

    - don't encode the title in order to be able to print it in user' messages
    - Linux - support for Freemind mind mappings
    - first osx compatible version ; needs to be tested on all platforms before
      release

18/03/2010 - 0.10.0
-------------------

    - NGINX fix 1 : unable to unlock in https behind NGINX

01/04/2009 - 0.9.11
-------------------

    - Windows : switch to python 2.5

05/10/2009 - 0.9.11 pre1
------------------------

    - bugfix LINUX : http_proxy env variable not correctly taken into account
    - Linux : switch from python2.4 to python2.5
    - CMFEditions basic support : 
      New option to activate/deactivate version control in zopeedit
      When a file is modified and saved, a new version is created before 
      save
    - improvement in log file and in messages
    - default log level is now info instead of debug

04/26/2009 - 0.9.10
-------------------

    - unification of EditorProcess for windows and linux. Now only one class.
    - new isAlive algorythm allowing multiple monitoring 
      functions and priorities
    - new monitoring function for lock files 
      (openoffice.org 3.0 is now supported)
    - new default configuration : you need to update your personnal settings 
      in order to get openoffice.org 3 working
    - bugfix in ini files
    - isalive improvements

02/24/2009 - 0.9.9.3
--------------------

    - handle correctly use_locks = False:
      don't open the file when you use locks and can't lock
      set use_locks to false if you really want to edit the file and can't lock
    - bugfix : proxy to https site
    - bugfix : proxy address starting with "\http://"
    - log level made possible
    - logs when end startup process
    - isAlive improvements, especially when the editor takes time to start
    - ZopeEdit : New option : config_editor
    - ZopeEdit : Propose to re-create user config if exists
    - ZopeEdit.ini : empty proxy option, config_editor = notepad
    - Windows Installer : add ZopeExternalEditor to Program menu
    - general-type for images in order to open them with gvim
    - isAlive improvement for short time editions
    - proxy empty option in config file
    - command without filename opens default editor with zopeedit option file
    - basic proxy support : no authentificated proxy yet
      proxy parameter in preferences
      http_proxy taken into account
    - bugfix - messages

11/20/2008 - 0.9.8 final
------------------------

    - error in traceback save
    - general_types : typo
    - replace spaces in file name when we don't want long name
    - use mktemp for traceback
    - don't crash if Title has characters that are not iso-8858-1 compliant.

10/19/2008 - 0.9.8-beta2
------------------------

    - Enhancement : logs messages have now different log levels. 
    - Enhancement : Log is in "debug" mode by default. 
      This may be changed later.
    - Enhancement : datetime in front of every log entry.
    - Enhancement : Title of the file edited is retrieved and used 
      for close message.
    - Enhancement : Log file is now written during execution. 
    - Enhancement : Log file may be read and is not any more deleted 
      when there is a crash.
    - Enhancement : Log file can be read while zopeedit is running.
    - Enhancement : Keep log by default.
    - Enhancement : Borrow locks by default.
    - Enhancement : Save interval is 5 seconds by default.
    - Enhancement : Max isalive counter is 5 by default.
    - Enhancement : Temporary file name to be edited is short 
      (without path) by default.
    - Bugfix : .zope file is now deleted
    - Enhancement : failures are logged as errors or exceptions
    - Enhancement : simpler messages for current messages
    - Bugfix : unlock file when the editor failed to start
    - Enhancement : log message when file failed to save back to the server
    - Enhancement : log message when unlock failed
    - Enhancement : log message when file's modification is detected
    - Bugfix : detect editor close during first loops,
      when editor is monitored by file
    - Enhancement : parameters for server and client encoding, 
      used to display file Title
    - Enhancement : no more parameters needed. This makes upgrades simpler. 
    - Enhancement : All options but default editor (posix) and lock duration are now commented


08/26/2008 - 0.9.8-beta1
------------------------

    - Borrow lock when the file is locked by the current user
    - Message to user when there is a file save issue
    - Message to user in order to re-open the last version of the file
      when it can't been saved
    - Network errors handling
    - Keep log and temporary file when there is a it's impossible 
      to save or unlock
    - control file save issues. 
      In case of problem, propose to re-open local copy for local backup.
    - interaction with user for cases where zopeedit 
      can't handle the editor automatically
    - now compatible will ALL editors !!
    - deep rewrite of parts of code    
    - Default option : always borrow locks = true
    - mimetypes for excel and powerpoint under linux 
      in default configuration file

06/26/2008 - 0-9-7-ar Release
-----------------------------

    - Bugfix : start gimp with -n in order to start a new process
    - Improvements in Lock/Unlock process
	Lock is applied before file open
	Lock is removed after final file upload
    - New option manage_locks
    - New and more detailed logs
    - Now more ask user what to do when something happens about locks in the default configuration
    - No more plugins for MS Office : the new standard process seems to work better with different MS Office versions
    - Important bugfix in order to avoid losing file's modifications when : close and answer 'yes' to save
    - More precautions in order to avoid opening an old version of a file (a user opens while another user is closing the file) ; check patched ExterbalEditor in order to be really reliable.

05/28/2008 - 0-9-6-ar Release
-----------------------------

    - logs from isAlive in order to log the way we track changes
    - New configuration option lock_timeout in order to configure
      the lock duration on the client side
    - Cleanup

04/10/2008 - 0-9-5-ar Release
-----------------------------

    - better isAlive algorithm

06/28/2007 - 0.9.4-ar Release
-----------------------------

    - better support for forking applications without pluggin
    - windows and posix systems support

01/03/2007 - 0.9.3 Release
--------------------------

    - Fixed issue with 'manage_FTPget' overriding the 'Content-Type'
      header.
    - Only run ExpandEnvironmentStrings on win32 systems.

9/14/2006 - 0.9.2 Release
-------------------------

    - Added 'skip_data' option to make External Editor send out only
      the metadata part and skip appending data to the 'body'.
    - Add a simple callback registry that can be used to add extra
      metadata headers or set special response headers when a file is
      edited through External Editor.
    - Use rfc822.Message for parsing the metadata of the file being
      edited.
    - Don't emit a warning about deprecated 'methods' in Zope >= 2.10.
    - Fixed acquisition issue in manage_main.dtml to sync up with the
      same fix applied to Zope.

6/23/2005 - 0.9.1 Release
-------------------------

    - Older pyc files for plugins were included in the 0.9 release.
      This version has the most up to date plugins.

6/20/2005 - 0.9 Release
-----------------------

    - When using the Excel plugin, errors were seen by users like
      "TypeError: This object does not support enumeration".  We now
      make the user deal with these.
    - When using the Excel plugin, errors were intermittently raised to the
      user in the form "Fatal error: <unknown>.Path" and the user could
      subsequently not save the document back to Zope because the
      external editor process had quit.
    - Changes to documents intermittently may not have been saved back to Zope
      when using any plugin that involved COM (Word, Excel, Powerpoint, etc).
    - If Word was exited before a user actively saved, if there were
      outstanding changes in the document being edited, those changes
      would not be saved to the server despite the user answering
      "yes" to the "do you want to save before you exit" dialog
      presented by Word.
    - The "title" attribute of the object being externally edited is
      now available within the set of headers returned by EE to the
      zopeedit client.
    - Detecting whether the client has External Editor installed from
      within IE using JavaScript or VBScript is now possible, assuming
      that the client software is installed via the InnoSetup
      installer.  See "win32/ocx.txt" for more info.
    - External Editor now compatible with objects that return a
      "filestream iterator" in Zope 2.7.1+. (if upgrading: this fix
      does not require an update to EE client, just the EE Zope
      product).
    - Properly escape hyphens in man page. Thanks to Federico Sevilla III.
    - Check if the editor was launched before locking the file in Zope. This
      prevents errors if the editor is closed before the lock request 
      completes.
    - Do not ask the user what editor to use on Posix platforms. Instead just
      tell the user to edit the config file. The askstring()
      function does not work with a hidden root Tk window in Python 2.3.4.
      Thanks to Christopher Mann.

7/13/04 - 0.8 release
---------------------
  
    - Add external editor icon to ZMI breadcrumbs for editable objects.
    - Compiled windows helper app binary using Python 2.3.4, Pythonwin build
      163 and py2exe 0.5.
    - Add Dreamweaver plugin contributed by Manuel Aristaránn. Thanks also
      to Anton Stonor.
    - Add ZMI support for Zope 2.7's ordered folder objects.      
    - Fix bug detecting basic auth info from older versions of CookieCrumber.
      Thanks to David D. Smith and Federico Sevilla III.
    - Workaround IE browser error when running over SSL. Thanks to 
      Marc-Aurèle Darche.
    - Add ".zem" file extension support for MacOS X (especially Mac IE),
      to ease helper app integration where MIME support is lacking. Thanks
      to Zac Bir.
    - Added "long_file_name" and "file_name_separator" config options.
    - Fixed bug which happened under Win32 when editing an Excel file
      using the Excel plugin where the symptom was a "Call was
      rejected by callee" COM error. Thanks to Chris McDonough.

4/23/04 - 0.7.2 Release
-----------------------

    - Change default configuration to use .txt extension for text/plain only. 
      Add extensions for css and javascript files.
    - Fixed packaging bug in Windows binary which disabled several plugins.
      This fixes "Editor did not launch properly" errors for MSOffice
      among others.
    - Fixed a bug where very short editing sessions where no changes were
      made could make EE think the editor never launched. Thanks to Maik Ihde.

11/7/03 - 0.7.1 Release (affects win32 binary only)
---------------------------------------------------

    - Fix encoding bug in windows binary. Thanks to Chris McDonough.  
    - Added tip for configuring IE to save files over SSL. Thanks to
      Jonah Bossewitch.

4/1/03 - 0.7 Release
--------------------

    - Added working distutils setup for Unix.

    - You can now specify from the server that the helper app should
      borrow a lock by passing borrow_lock=1 via the request, thus
      suppressing the dialog box which appears by default. Thanks
      to Shane Hathaway.

    - Improved open file check in Word and Powerpoint plugins 
      thanks to Yura Petrov.

    - Added plugins for Microsoft Word, Excel and Powerpoint.

    - Added the man page from the Debian distro. Thanks go out to
      Federico Sevilla III and Andreas Tille

11/02/02 - 0.6 Release
----------------------

    - Built Windows helper app using Python 2.2.2 and PythonWin 148.

    - The \externalEdit_ object now accepts a path argument to the object to
      edit, allowing URLs like: "\http://zope/\externalEdit_?path=/some/object".
      This allows external editor to play better with applications making use
      of traversal magic of their own. Thanks to Tres Seaver.

    - Fixed NameError bug in unlock retry code. Thanks to Federico Sevilla III.

    - Added a workaround for non-compliant SSL servers. The software now
      silently ignores "EOF occurred in violation of protocol" errors coming
      from httplib. Thanks to Christopher Deckard.

    - Removed stderr writes to cure "Invalid File Descriptor" errors on
      Windows. Thanks to Martijn Peters.

    - Added Photoshop plugin (win32)

    - Added HomeSite plugin (win32)

    - Added win32 editor plugin support for the helper application.

8/19/02 - 0.5 Release
---------------------

    - Added patch for Zope find template so that you can use external editor
      directly from find results in the ZMI. Thanks to Jim Washington.

    - Factored out external editor link generator. Product now registers
      a global method "\externalEditLink_" which can be called to generate
      the external editor icon link for any object.

    - External editing is now governed by the "Use external editor" permission
      to allow non-managers to use it. Users must also have the permissions to
      edit/modify the objects they edit, plus do WebDAV locking if desired.
      Thanks to Reineke and others.

    - Unix editor command line parsing is much more robust now and properly
      handles quoted arguments. You can also specify the "$1" placeholder in the
      editor command to denote where the content file name is inserted. If
      omitted it is appended to the end of the command line. "%1" continues to
      work similarly for Windows. Thanks to Marc St-Jean.

    - Fixed bug editing large (chunked) files and images. External editor now
      streams their data properly to the client. Thanks to all the users who
      reported various symptoms of this bug.

    - Fixed bug editing objects inside a Squishdot site. Thanks to Kevin Salt.

    - Added the capability to borrow exising DAV locks. This allows external
      editor to play well with other systems using locks, such as CMFStaging. A
      new configuration flag, always_borrow_locks can be set to suppress the
      borrow lock warning dialog when editing.

    - Fixed auth bug when product was used with mysqlUserFolder. Thanks to
      ViNiL.

6/30/02 - 0.4.2 Release (affects win32 binary only)
---------------------------------------------------

    - Added SSL support to Windows binary package. Thanks to Federico 
      Sevilla III

6/29/02 - 0.4.1 Release
-----------------------

    - Fixed dangling dav lock bug on fatal errors. Thanks to Marc St-Jean.
    - Fixed content_type bug, now checks if it is callable. Thanks to Arnaud 
      Bienvenu.
    - Fixed bug with editing binary data on Windows. Thanks to Eric Kamm.
    - Fixed bug setting the editor on Posix platforms.

6/24/02 - 0.4 Release
---------------------

    - Added --version command line argument
    - Made manage_FTPget the default source for the editable content, instead
      of document_src which was broken for CMF Wiki Pages.
    - Fixed Windows "body_file" bug.
    - Added binary build support for Windows using py2exe and Inno setup.
    - Fixed Windows config file locator. It now looks in the program directory
      and then the user's home directory (if specified)
    - Fixed bug in Windows registry editor lookup.

6/16/02 - 0.3 Release
---------------------

    - Improved behavior when saving after lock attempts fail.
    - Now works on Windows (applause) using Pythonwin. Much overall
      refactoring to abstract process control. Thanks to Oliver Deckmyn,
      Gabriel Genellina and Arno Gross for testing, patches and suggestions.
    - Added "temp_dir" configuration option for specifying a different
      temp file directory then the OS default. Also further improved 
      temp file name generation.
    - Added support for domain specific configuration options.
    - Fixed trailing newline bug in encoded auth data coming from
      CookieCrumbler. Thanks to Harald Koschinski.
    - You can now pass command line arguments to the editor in the config file,
      or wrap the editor in an xterm without using a shell script.
    - Rewrote "Editor did not launch" error message so it makes more sense.
    - Fixed https detection bug. External editor is now tested and working with
      https. Many thanks to Hans-Dieter Stich and Martin Grönemeyer for their 
      assistance and ideas.
    - Made it possible to edit objects that are methods of ZClasses. Thanks to
      Jim Washington
    - Refactored link generation code in manage_main so that it uses
      the parent's absolute_url rather than URL1. Thanks to
      Jim Washington
    - Removed implicit save in Configuration class destructor
    - Added caching headers to prevent client-side caching of edit data.
      Thanks to Gabriel Genellina for pointing this out.
    - Added improved support for editing CMF documents
    - Eliminated spurious "Editor did not launch" errors on short sessions
      or when other errors occurred.

5/16/02 - 0.2 Release
---------------------

    - Fixed product uninstallation bug

5/15/02 - 0.1
-------------

    - Initial release
