ExternalStorage 0.1 (Alpha release) (Mar 01, 2005)
This is not a final release. Experimental releases should only be used for testing and development. Do not use these on production sites, and make sure you have proper backups before installing.
First public release.
For additional information about this project, please visit the overview page .
Available downloads
Release Notes
| Tested with | Plone 2.0.5, Archetypes 1.3 |
|---|---|
| State | Alpha release |
| License | BSD |
| Release Manager | Dorneles Treméa, PloneSolutions |
| Released | 2005/03/01 |
- Auto rename support
- Improved initial tests
- Fixed old bugs
- Cleaned up code
Change log
2005-03-08 Dorneles Treméa* ExternalStorage.py (__init__, initializeInstance, unset): Fixed a bug when an operation of copy/cut/rename is performed on multiple files at same time. Thanks to Sam Stainsby. * tests/testRename.py: Added a second ExternalArticle instance to tests, so we can demonstrate the multiple copy/cut/rename bug. * tests/testAddChars.py, tests/testEditChars.py: Removed. Fixed tests and merged the important stuff into testAdd.py and testEdit.py files. 2005-01-18 Nate Aune * config.py: Added GOOD_CHARS and CHAR_MAPPING constant tables. * ExternalStorage.py (cleanupFilename): Added a method to map illegal chars to allowed ones, so we can avoid ZopeCopyError exceptions. * tests/testAddChars.py, tests/testEditChars.py: Added tests to make sure ES supports files with special characters (tests are currently failing). 2005-01-17 Dorneles Treméa * tests/ESTestCase.py, tests/testFunctional.py: Added FunctionalTestCase class and tests (currently failing). * example/ExternalExample/ExternalArticle.py: Renamed 'file' to 'stream' to avoid a name clash. Added a 'normal_file' field for test propose. 2005-01-10 Dorneles Treméa * tests/testAdd.py: Added TestMultipleAddFile testsuite. * tests/ESTestCase.py (_addFileByFileUpload): Changed to use the newly added DATAPATH instead of a fixed one. * ExternalStorage.py (initializeInstance, set): Fixed a bug when creating multiple files using ExternalStorage: the last created file was created with the content from the previous one. 2005-01-09 Dorneles Treméa * TODO: Removed the finished 'rename' item. * tests/testAdd.py: Replaced docstring by comment. * tests/testEdit.py: Added tests for the file rename process on field edit. * example/ExternalExample/ExternalArticle.py (setFile): Removed method, now that rename-on-upload works. * ExternalStorage.py (initializeInstance): Changed to only create the archive when required. (set): Made the rename process works when uploading a file with a different name. (getBasePath, computeFilePath): Fixed to always return a normalized path. 2004-12-08 Dorneles Treméa * ChangeLog, HISTORY: Added a change log file and removed the old history one. * TODO: Updated note about 'rename'. Added an entry for file stream iterator tests. * example/ExternalExample/ExternalArticle.py: Moved primary and required from 'body' to 'file' field. Added 'rename' parameter to ExternalStorage. * tests/ESTestCase.py: Changed to use a different path based on ENVIRONMENT_VARIABLE, so tests doesn't remove anything by accident. * tests/testAdd.py, tests/testContentType.py, tests/testCopy.py, tests/testCut.py, tests/testDelete.py, tests/testExternalStorage.py, tests/testFilename.py, tests/testRename.py: Splitted into different modules. Added filename/contenttype/delete test suites. * ExternalStorage.py: Reorganized code. Fixed the cleanup of filesystem garbage when deleting/moving/renaming objects at ZODB. Fixed to return the same content that was stored: StringType or File, and thus the correct filename/contenttype. Added initial code for the 'rename' behavior. Renamed _extstorage_* variables to _es_*. 2004-11-30 Dorneles Treméa * tests/: ESTestCase.py, testArchive.py, testExternalStorage.py: Added multi-field support to tests. 2004-11-29 Dorneles Treméa * tests/: testExternalStorage.py, ESTestCase.py: Renamed constants for better understanding. Added test for the parent folder rename. 2004-11-26 Dorneles Treméa * TODO: Updated TODO list. Next features comming soon... ;-) * ExternalStorage.py: Fixed rename process: cleanupField != unset. Fixed mimetype/filename support. Standardized variable names. Renamed some private methods. * AUTHORS, Makefile, config.py, version.txt: Added config/makefile. Updated version/authors. * tests/: ESTestCase.py, testExternalStorage.py: Added tests for ContentType/Filename. Implemented testTitleChanged. * tests/testArchive.py: Added stub file for Archive tests. * FileUtils.py, example/ExternalExample/ExternalArticle.py, example/ExternalExample/StreamingFile.py: Cleaned up whitespaces. * tests/data/sample.zip: Added a ZIP sample file. * iexternalstorage.py, interfaces/__init__.py, interfaces/externalstorage.py: Added interfaces package. 2004-10-20 Dorneles Treméa * tests/: ESTestCase.py, dummy.py, testExternalStorage.py: Rewrote tests. More to come... ;-) * AUTHORS, ExternalStorage.py, HISTORY, TODO, iexternalstorage.py: Cleaned up code. 2004-10-15 Christian Scholz * iexternalstorage.py: Changed import of Interface to make it work again with recent AT. 2004-09-05 Christian Scholz * ExternalStorage.py: Fixed unset() for deleting files. 2004-08-31 Christian Scholz * example/ExternalExample/: ExternalArticle.py, StreamingFile.py: Example now using FileStream iterator. * ExternalStorage.py, tests/ESTestCase.py, tests/testExternalStorage.py: Copying/moving now working. FileStream iterator can be used (see example). 2004-06-28 Christian Scholz * tests/ESTestCase.py: No clearance of data anymore right now. 2004-06-27 Christian Scholz * ExternalStorage.py: Paths are now stored relative. Tried to make it backwards compatible. * tests/testExternalStorage.py: Tests are also working now ;-) * tests/: ESTestCase.py, __init__.py, dummy.py, framework.py, runalltests.py, testExternalStorage.py, data/test.doc: First try on adding tests. 2004-05-22 Christian Scholz * example/ExternalExample/ExternalArticle.py: Made docstring for setFile() more verbose. * example/ExternalExample/ExternalArticle.py: Added example for automatically renaming the object to the filename of the uploaded field. * ExternalStorage.py: Fixed the "file data removed after object rename" bug and changed the log level from INFO to DEBUG. 2004-05-05 Christian Heimes * ExternalStorage.py: Added disable archive feature. 2004-04-24 Christian Heimes * ExternalStorage.py: Changed tab to spaces. Added fixes to the set() method. 2004-04-14 Christian Scholz * ExternalStorage.py, HISTORY, TODO, example/ExternalExample/ExternalArticle.py: viewing of external files now actually works: - content type is stored - content type can be retrieved - ExternalExample now has some example methods for retrieving the contents of the file. 2004-03-05 Christian Scholz * AUTHORS, ExternalStorage.py, FileUtils.py, HISTORY, README, TODO, __init__.py, iexternalstorage.py, refresh.txt, version.txt, example/ExternalExample/ExternalArticle.py, example/ExternalExample/README, example/ExternalExample/__init__.py, example/ExternalExample/config.py, example/ExternalExample/refresh.txt, example/ExternalExample/Extensions/Install.py, example/ExternalExample/skins/externalexample/article_view.pt: Initial import.


