2006-04-14 Roman Joost * adapters/rss.py * XMLBuffer.py * adapters/XMLBuffer.py: moved to adapters dir, because it's only importet and used here * utils.py: some utility functions * SilvaBlog.py: removed doctest of IContainer. Now only ISilvaBlog is tested against the class. 2006-04-14 Roman Joost * adapters/bloggable.py * adapters/rss.py * SilvaBlog.py: bit of refactoring 2006-04-09 Roman Joost * views/edit/Container/SilvaBlog/tab_edit.pt * adapters/bloggable.py: fixes bug #24 2006-04-09 Roman Joost * adapters/bloggable.py * SilvaBlogEntry.py * SilvaBlogArticle.py: fixes bug #18 2006-04-08 Roman Joost * tests/test_SilvaBlogArticle.py * adapters/bloggable.py * adapters/configure.zcml * SilvaBlog.py * interfaces.py * SilvaBlogArticle.py: fixes the problem, that the edit view for SilvaBlogArticle lists more than one entries depending on the version 2006-04-08 Roman Joost * install_blog.py * tests/SilvaBlogTestCase.py * tests/test_SilvaBlog.py * tests/test_exports.py * adapters/bloggable.py * interfaces.py: cleaned up the tests a bit. Bug #1 should be fixed by this checkin. Not sure if it really is, because it turned out, that testing articles, which are published in the past don't work. Version.py overwrites the publish date to avoid caching problems. 2006-04-07 Roman Joost * browser/base.py * browser/article/__init__.py * browser/blog/blog.pt * browser/blog/__init__.py * configure.zcml * views/public/SilvaBlog * views/public/SilvaBlog/render_folderish.pt * views/public/SilvaBlog/article_view.py * views/public/SilvaBlog/render.py * views/public/SilvaBlog/render_preview.py * views/public/SilvaBlog/article_preview.py * install.py: removed old public views and migrated view for SilvaBlog using Five/SilvaLayout now * adapters/bloggable.py * adapters/configure.zcml * SilvaBlog.py * interfaces.py: added IBlog interface for bloggable adapter * SilvaBlogArticle.py: removed deprecated method * tests/test_SilvaBlog.py * tests/test_exports.py: refactored and cleaned up tests 2006-04-01 Roman Joost * browser/article/authorinfo.pt * browser/article/configure.zcml * browser/article/article.pt * browser/article/__init__.py * browser/article/comments.pt * browser/configure.zcml * views/public/SilvaBlogArticle * views/public/SilvaBlogArticle/render_helper.pt * views/public/SilvaBlogArticle/comment_view.py * views/public/SilvaBlogArticle/render_comment.pt * views/public/SilvaBlogArticle/article_view.py * views/public/SilvaBlogArticle/add_blogcomment.py * views/public/SilvaBlogArticle/form.form * views/public/SilvaBlogArticle/render.py * views/public/SilvaBlogArticle/render_preview.py * views/public/SilvaBlogArticle/article_preview.py * tests/test_SilvaBlog.py: migrated public views for SilvaBlogArticle to Five based view 2006-03-31 Roman Joost * tests/SilvaTestCase.py * tests/SilvaBlogTestCase.py * tests/test_SilvaBlog.py * tests/test_SilvaBlogArticle.py: refactored tests and fixed bug #14 2006-03-31 Roman Joost * browser * browser/base.py * browser/article * browser/article/configure.zcml * browser/article/article.pt * browser/article/__init__.py * browser/blog * browser/blog/configure.zcml * browser/blog/blog.pt * browser/blog/__init__.py * browser/skin * browser/skin/configure.zcml * browser/skin/__init__.py * browser/skin/template.pt * browser/configure.zcml * browser/__init__.py * configure.zcml: basic integration of SilvaLayout. More work of this will follow soon * install.py * install_blog.py: factored SilvaBlog depend methods out of install * tests/SilvaTestCase.py * tests/test_SilvaBlog.py * tests/test_SilvaBlogArticle.py: refactoring of the testcase. It inherits now from SilvaTestCase, which is much more reliable than the copy and paste SilvaTestCase before. * views/rss/SilvaBlogArticle/article_view.py * views/public/SilvaBlog/article_view.py * views/public/SilvaBlogArticle/article_view.py * adapters/bloggable.py * adapters/rss.py * SilvaBlog.py * interfaces.py * SilvaBlogArticle.py: get_entry() now renamed to get_default() 2006-03-27 Roman Joost * views/get_months.py: fixed bug, where the function returned itself without calling it * XMLBuffer.py * views/rss * views/rss/SilvaBlogArticle * views/rss/SilvaBlogArticle/render_helper.pt * views/rss/SilvaBlogArticle/article_view.py * views/rss/SilvaBlogArticle/render.py * views/public/SilvaBlogArticle/render_helper.pt * views/public/SilvaBlogArticle/article_view.py * install.py * tests/test_SilvaBlog.py * adapters/rss.py * SilvaBlog.py * SilvaBlogArticle.py: refactored RSS export. It exports now rss 2.0 compliant xml, with embeded HTML. 2006-03-10 Roman Joost * views/edit/Container/SilvaBlog/tab_edit.pt * views/public/SilvaBlog/render_folderish.pt * views/public/SilvaBlogArticle/render_helper.pt * views/public/SilvaBlogArticle/render.py * views/get_months.py * tests/test_SilvaBlog.py * SilvaBlog.py * interfaces.py: fixed Viewcode for tabedit and public view 2006-02-25 Roman Joost * install.py: moved the setup_catalog method out of SilvaBlog to install.py. New index is added for categories. We're using the 'keywords' from the metadata set. This works more or less flaky currently. We can't get uniqueValuesFor index keywords, but retrieving objects through this index works quite nicely. I'm not sure if this is the correct way, because this index should probably be added to the blog_catalog and not the silva service_catalog. * views/public/SilvaBlog/render_folderish.pt * SilvaBlog.py: fixed get_articles_for categories() method. Though, this needs to be reflected in the UI. * tests/test_SilvaBlog.py * tests/test_SilvaBlogArticle.py * adapters/category.py * adapters/configure.zcml * SilvaBlogArticle.py: removed now unnecessary code from the article, which is already handeled by the SilvaBlogEntry. Also the category code is cleaned up. Maybe this can be merged back in the code for each object so the adapter isn't needed anymore? 2006-02-23 Roman Joost * install.py * __init__.py * SilvaBlogEntry.py * views/edit/VersionedContent * views/edit/VersionedContent/SilvaBlogEntry * views/edit/VersionedContent/SilvaBlogEntry/get_tabs.py * views/edit/VersionedContent/SilvaBlogEntry/kupu_display.py * views/edit/VersionedContent/SilvaBlogEntry/forms_editor_display.py * views/edit/VersionedContent/SilvaBlogEntry/placeholder.py * views/edit/VersionedContent/SilvaBlogEntry/get_available_sources.py * views/edit/VersionedContent/SilvaBlogEntry/tab_edit.pt * SilvaBlogComment.py * www/silvablogcomment.png * views/edit/Content * views/edit/Content/SilvaBlogComment * views/edit/Content/SilvaBlogComment/get_tabs.py * views/edit/Content/SilvaBlogComment/form.form * views/edit/Content/SilvaBlogComment/tab_edit_update_comment.py * views/edit/Content/SilvaBlogComment/edit.pt * views/edit/Content/SilvaBlogComment/tab_edit.pt * views/public/render_comment_macro.pt * views/public/SilvaBlogComment * views/public/SilvaBlogComment/render.py * views/public/SilvaBlogComment/render_view.pt * views/add/SilvaBlogComment * views/add/SilvaBlogComment/add_submit_helper.py * views/add/SilvaBlogComment/form.form: new content types: a comment type for storing comments and an entry type which is the default document for the silvablogarticle * views/public/render_folderish.pt * views/public/SilvaBlog/render_folderish.pt * views/public/SilvaBlog/article_view.py * views/public/SilvaBlogArticle/render_helper.pt * views/public/SilvaBlogArticle/comment_view.py * views/public/SilvaBlogArticle/render_comment.pt * views/public/SilvaBlogArticle/article_view.py * views/public/SilvaBlogArticle/add_blogcomment.py * views/public/SilvaBlogArticle/form.form * views/public/SilvaBlogArticle/comments_form.form * tests/test_SilvaBlog.py * tests/test_SilvaBlogArticle.py * adapters/category.py * adapters/bloggable.py * adapters/rss.py * SilvaBlog.py * interfaces.py * SilvaBlogArticle.py: integrated two new content types. Tickets fixed: #7 2006-02-05 Roman Joost * __init__.py * SilvaBlogComment.py * install.py * tests/SilvaTestCase.py * tests/test_SilvaBlogArticle.py * interfaces.py: added new content type to stor comment information. It's currently just the setup and one method, including a test. No UI yet. 2006-01-29 Roman Joost * views/edit/Container/SilvaBlogArticle * views/edit/Container/SilvaBlogArticle/placeholder.py * views/edit/VersionedContent * views/edit/VersionedContent/SilvaBlogArticle * views/edit/VersionedContent/SilvaBlogArticle/get_tabs.py * views/edit/VersionedContent/SilvaBlogArticle/kupu_display.py * views/edit/VersionedContent/SilvaBlogArticle/forms_editor_display.py * views/edit/VersionedContent/SilvaBlogArticle/get_available_sources.py * views/edit/VersionedContent/SilvaBlogArticle/edit.py * views/edit/VersionedContent/SilvaBlogArticle/tab_edit.pt * install.py: removed old view for blog article, which is now handled differently. The article is now folderish, inherits the folder view from Silva. The actual entry is a Silva Document and inherits the view from Silva as well. This will leave us now room for adding and managing comments in our SilvaBlogArticle :) * views/edit/Container/SilvaBlog/tab_edit.pt * SilvaBlog.py: one column shows the categories a article is published under. I'm using the keywords for an article (not the SilvaDocument) also for seperating the articles. So, the keywords and the categories the same. 2006-01-29 Roman Joost * install.py * tests/SilvaTestCase.py * tests/test_SilvaBlog.py * tests/test_SilvaBlogArticle.py * adapters/category.py * adapters/bloggable.py * adapters/rss.py * SilvaBlog.py * SilvaBlogArticle.py: big refactoring to get the tests running. Removed ContainerPolicy for SilvaBlogArticle. A SilvaDocument is now added after the SilvaBlogArticle is created. This solves the catalog indexing problems I run into. 2005-12-08 Roman Joost * __init__.py * install.py * tests/SilvaTestCase.py * tests/test_SilvaBlog.py * tests/test_SilvaBlogArticle.py * adapters/category.py * adapters/bloggable.py * adapters/configure.zcml * adapters/rss.py * SilvaBlog.py * interfaces.py * SilvaBlogArticle.py: removed SilvaBlogArticleVersion, SilvaBlogArticle is now Container type. Added adapters to configure.zcml which are now loaded in the testcases. 2005-12-04 Roman Joost * tests/test_SilvaBlog.py * adapters/rss.py * SilvaBlog.py * interfaces.py: factored out the rss export and wrote small a test for it 2005-12-04 Roman Joost * configure.zcml * adapters/category.py * adapters/bloggable.py * adapters/configure.zcml * adapters/adapter.py * SilvaBlog.py * interfaces.py * SilvaBlogArticle.py: added ZCML to configure adapters. The classes don't use these adapters in a zope3 stylish way, because there seems to be no easy and clear way to test this. 2005-12-03 Roman Joost * __init__.py * install.py * views/edit/Container/SilvaBlogCategory * views/edit/Container/SilvaBlogCategory/placeholder.py * views/add/SilvaBlogCategory * views/add/SilvaBlogCategory/add_submit_helper.py * views/add/SilvaBlogCategory/form.form * views/public/SilvaBlogCategory * views/public/SilvaBlogCategory/cropText.py * views/public/SilvaBlogCategory/article_view.py * views/public/SilvaBlogCategory/render.py * views/public/SilvaBlogCategory/render_preview.py * views/public/SilvaBlogCategory/article_preview.py * tests/test_SilvaBlogCategory.py * SilvaBlogCategory.py: removed, because we acquire now categories from the metadata by using keywords. So get rid of this stuff. * tests/SilvaTestCase.py * tests/test_SilvaBlog.py * tests/test_SilvaBlogArticle.py * tests/test_doctests.py * adapters/category.py * SilvaBlog.py * interfaces.py * SilvaBlogArticle.py: fixed up many code fragments for Five and Zope3. A 'category' adapter now provides access to categories the articles are published under. Fixed up the tests and wrote doctests for verify that the classes implement the setup interface. 2005-06-18 Roman Joost * views/archive.pt: fixed the call to get_blog(), which is now made on the model. 2005-06-18 Roman Joost * adapters * adapters/bloggable.py * adapters/__init__.py * adapters/adapter.py * adapters/README.txt: moved some code which is shared by the category and the blog to adapters * views/archive.pt * views/public/render_folderish.pt * tests/SilvaTestCase.py * tests/test_SilvaBlog.py * SilvaBlogCategory.py * SilvaBlog.py * interfaces.py: fixes for the archive and categories. Now the category link points to the category in the correct year and month. I used the request variables (currentmonth, currentyear) for the link. It's awkward and error-prone, the zpt code is messy and I should think out something better. 2005-06-12 Roman Joost * ChangeLog * tests/test_SilvaBlog.py * SilvaBlogCategory.py * SilvaBlog.py * interfaces.py * SilvaBlogArticle.py: reverted previous checkin, because of a broken branch 2005-06-12 Roman Joost * configure.zcml * adapters * tests/test_SilvaBlog.py * SilvaBlogCategory.py * SilvaBlog.py * interfaces.py * SilvaBlogArticle.py: began to work on the FIVE integration 2005-06-03 Roman Joost * views/public/SilvaBlogArticle/add_blogcomment.py * views/get_months.py * install.py * version.txt: merged branch changes back to HEAD to get the fixes I made in the 0.4.1 release 2005-05-01 Roman Joost * views/get_months.py: added bugfix submitted by sitharus@sitharus.com * version.txt: bugfix release 2005-04-16 Roman Joost * TODO.txt: added todo items for next versions * version.txt: bumped to version 0.4 2005-04-12 Roman Joost * views/archive.pt * views/public/render_folderish.pt: minor changes in page template code to have the archive more modular. So it can be used by other templates as well. 2005-04-03 Roman Joost * TODO.txt: removed some of the TODOs * www/silvaBlogAdd.zpt * SilvaBlog.py: added page template for adding the blog via ZMI 2005-04-03 Roman Joost * i18n/silvablog.pot * i18n/silvablog-de.po: added few new strings * views/public/SilvaBlogCategory/render_helper.pt * views/public/SilvaBlogCategory/render.py * views/public/SilvaBlogCategory/render_preview.py * views/public/SilvaBlog/render_helper.pt * views/public/SilvaBlog/render.py * views/public/SilvaBlog/render_preview.py * views/public/render_folderish.pt: new template which renders folderish content, removed duplicated code for blog and category * SilvaBlog.py: minor syntactic fixes 2005-04-01 Roman Joost * i18n * i18n/silvablog.pot * i18n/silvablog-de.po * views/archive.pt * views/edit/Container/SilvaBlog/form.form * views/edit/Container/SilvaBlog/tab_edit.pt * views/get_months.py * views/public/SilvaBlogCategory/render_helper.pt * views/public/SilvaBlog/render_helper.pt * views/public/SilvaBlogArticle/render_helper.pt * views/public/SilvaBlogArticle/comments_form.form: added i18n capabilities and german po file 2005-03-27 Roman Joost * SilvaBlogCategory.py * views/archive.pt * views/public/SilvaBlogCategory/render_helper.pt * views/public/SilvaBlog/render_helper.pt: added archive feature for categories as well * views/is_active.py * views/public/SilvaBlog/is_active.py: moved to upper directory to get access from category level 2005-03-27 Roman Joost * views/edit/Container/SilvaBlog/tab_edit.pt * views/print_month.py * views/get_months.py * views/public/SilvaBlog/render_helper.pt * views/public/SilvaBlog/is_active.py * tests/test_SilvaBlog.py * SilvaBlog.py * interfaces.py: added archive feature and tests for it 2005-03-21 Roman Joost * version.txt: bumped to version 0.3 * README.txt: added description for categories * tests/test_SilvaBlog.py * SilvaBlog.py: fixed tests and methods 2005-03-20 Roman Joost * TODO.txt: added new todo item * AUTHORS * install.py * views/preview * views/preview/SilvaBlogArticle * views/preview/SilvaBlogArticle/render.py: added preview view, which fixes bug, that Silva threw an error if someone tried to compare the versions 2005-03-13 Roman Joost * XMLBuffer.py * SilvaBlog.py: added RSS export 2005-03-13 Roman Joost * views/public/SilvaBlogCategory/cropText.py * views/public/SilvaBlogCategory/render_helper.pt: fixed cropText, which crops the text after the end of the first paragraph * SilvaBlog.py: fixed get_recent_article method, which returns now the recent article 2005-03-08 Roman Joost * TODO.txt: added todo items * interfaces.py * www/silvablogcategory.png * www/silvablogcategory_unapproved.png * __init__.py * tests/test_SilvaBlogCategory.py * SilvaBlogCategory.py: some code for testing "highlighting" feature which currently don't work * views/edit/VersionedContent/SilvaBlogArticle/kupu_display.py * views/edit/VersionedContent/SilvaBlogArticle/forms_editor_display.py * views/edit/VersionedContent/SilvaBlogArticle/tab_edit.pt: used new template from SilvaDocument 2005-03-04 Roman Joost * views/public/SilvaBlogCategory/cropText.py * views/public/SilvaBlogCategory/render_helper.pt: added cropText script, to build an overview page for a category 2005-03-04 Roman Joost * views/public/SilvaBlogArticle/render_helper.pt: omit span tag 2005-03-01 Roman Joost * interfaces.py * tests * tests/test_SilvaBlogArticle.py * SilvaBlogCategory.py * SilvaBlogArticle.py: added new method to determine which category an article is published under 2005-02-27 Roman Joost * views/public/SilvaBlogCategory * views/public/SilvaBlogCategory/render_helper.pt * views/public/SilvaBlogCategory/article_view.py * views/public/SilvaBlogCategory/render.py * views/public/SilvaBlogCategory/render_preview.py * views/public/SilvaBlogCategory/article_preview.py: added missing view for SilvaBlogCategory 2005-02-27 Roman Joost * views/public/SilvaBlog/render_view.py * views/public/SilvaBlog/render.py * views/public/SilvaBlogArticle/render_view.py * views/public/SilvaBlogArticle/render.py: renamed, to keep track of changes in Silva for views * www/silvablogcategory.png * __init__.py * install.py * tests/SilvaTestCase.py * tests/runalltests.py * tests/test_SilvaBlog.py * tests/test_SilvaBlogArticle.py * tests/test_SilvaBlogCategory.py * views/edit/Container/SilvaBlogCategory * views/edit/Container/SilvaBlogCategory/placeholder.py * views/add/SilvaBlogCategory * views/add/SilvaBlogCategory/add_submit_helper.py * views/add/SilvaBlogCategory/form.form * views/public/SilvaBlogCategory * SilvaBlogCategory.py * interfaces.py: added new type "Category", new tests, views and an icon as well * SilvaBlog.py: renamed subjects methods to category methods 2005-02-27 Roman Joost * tests/test_SilvaBlog.py * SilvaBlog.py * SilvaBlogArticle.py: removed subject on article, because it's much more usable to use Silva Folders as categories. Fixed also a bug in SilvaBlog (get_editable_items), which returned the number of articles as the number of versions. Modified tests accordingly. 2005-02-24 Roman Joost * interfaces.py * tests/SilvaTestCase.pyc * tests/test_SilvaBlogArticle.py * tests/test_SilvaBlog.py: added tests and interface definitions * SilvaBlog.py * SilvaBlogArticle.py: two new methods which retrieve all subjects articles published on and a method which retrieves articles given by a subject * .svnignore: added property ignore to ignore unwanted files 2005-02-19 Roman Joost * AUTHORS * ChangeLog * interfaces.py * tests: added tests * SilvaBlog.py * SilvaBlogArticle.py: minor changes accordingly to tests