You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by so...@apache.org on 2006/06/12 01:24:58 UTC

svn commit: r413547 [1/15] - in /lenya/branches/revolution/1.3.x: ./ src/java/org/apache/lenya/cms/cocoon/components/modules/input/ src/java/org/apache/lenya/cms/cocoon/components/source/ src/java/org/apache/lenya/cms/cocoon/components/source/impl/ src...

Author: solprovider
Date: Sun Jun 11 16:24:48 2006
New Revision: 413547

URL: http://svn.apache.org/viewvc?rev=413547&view=rev
Log:
This is (hopefully) all the changes and new files to convert 1.2.x to 1.3.  There are 4 new documentation files at the root.

Added:
    lenya/branches/revolution/1.3.x/13ABOUT.txt   (with props)
    lenya/branches/revolution/1.3.x/13HELP.txt   (with props)
    lenya/branches/revolution/1.3.x/13TODO.txt   (with props)
    lenya/branches/revolution/1.3.x/13UPGRADE.txt   (with props)
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/ContentModule.java   (with props)
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/ModuleModule.java   (with props)
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/PublicationModule.java   (with props)
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/Usecase2ModuleModule.java   (with props)
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/source/
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/source/impl/
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/source/impl/ContentSourceFactory.java   (with props)
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/source/impl/ModuleSourceFactory.java   (with props)
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/Content.java   (with props)
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/Resource.java   (with props)
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/SitetreeGenerator.java   (with props)
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/flat/
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/flat/CreateRevisionTransformer.java   (with props)
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/flat/FlatContent.java   (with props)
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/flat/FlatIndex.java   (with props)
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/flat/FlatIndexPart.java   (with props)
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/flat/FlatIndexer.java   (with props)
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/flat/FlatRelations.java   (with props)
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/flat/FlatResource.java   (with props)
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/flat/FlatRevision.java   (with props)
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/flat/FlatTranslation.java   (with props)
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/hierarchical/
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/hierarchical/HierarchicalContent.java   (with props)
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/publication/Modules.java   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/authoring/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/authoring/doctypes.xmap   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/authoring/module.xmap   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/authoring/module.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/cache/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/cache/module.xmap   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/cache/module.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/cdir.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/cmerge.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/code.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/combine.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/content.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/content2.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/content3.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/content4.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/csitetree.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/done.html   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/index/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/index/all.xconf   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/index/assets.xconf   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/index/edit.xconf   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/index/editmenu.xconf   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/index/live.xconf   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/index/livemenu.xconf   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/module.xmap   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/rdir.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/resources.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/resources2.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/resources3.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/structure.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/structure2.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/blank_btn.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/cal.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/close.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/def2binding.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/delete.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/formfixer.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/forms-advanced-field-styling.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/forms-calendar-styling.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/forms-calendar.css   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/forms-field-styling.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/forms-htmlarea-styling.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/forms-lib.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/forms-page-styling.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/forms-samples-styling.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/forms.css   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/help.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/.project   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/ChangeLog
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/dialog.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/htmlarea.css   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/htmlarea.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_about.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_align_center.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_align_justify.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_align_left.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_align_right.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_blank.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_charmap.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_color_bg.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_color_fg.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_copy.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_custom.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_cut.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_delete.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_format_bold.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_format_italic.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_format_strike.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_format_sub.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_format_sup.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_format_underline.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_help.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_hr.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_html.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_image.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_indent_less.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_indent_more.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_left_to_right.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_link.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_list_bullet.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_list_num.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_paste.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_redo.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_right_to_left.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_save.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_save.png   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_show_border.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_splitcel.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/ed_undo.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/fullscreen_maximize.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/fullscreen_minimize.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/insert_table.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/images/makefile.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/index.html   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/b5.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/cz.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/da.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/de.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/ee.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/el.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/en.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/es.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/fi.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/fr.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/gb.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/he.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/hu.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/it.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/ja-euc.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/ja-jis.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/ja-sjis.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/ja-utf8.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/lt.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/lv.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/makefile.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/nb.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/nl.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/no.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/pl.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/pt_br.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/ro.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/ru.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/se.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/si.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/lang/vn.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/license.txt   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/make-release.pl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/makefile.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/CSS/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/CSS/css.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/CSS/lang/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/CSS/lang/en.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/CSS/lang/makefile.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/CSS/makefile.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/ContextMenu/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/ContextMenu/1.pl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/ContextMenu/context-menu.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/ContextMenu/lang/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/ContextMenu/lang/de.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/ContextMenu/lang/el.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/ContextMenu/lang/en.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/ContextMenu/lang/makefile.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/ContextMenu/lang/nl.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/ContextMenu/makefile.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/ContextMenu/menu.css   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/FullPage/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/FullPage/full-page.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/FullPage/img/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/FullPage/img/docprop.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/FullPage/img/makefile.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/FullPage/lang/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/FullPage/lang/en.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/FullPage/lang/makefile.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/FullPage/lang/ro.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/FullPage/makefile.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/FullPage/popups/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/FullPage/popups/docprop.html   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/FullPage/popups/makefile.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/FullPage/test.html   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/SpellChecker/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/SpellChecker/img/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/SpellChecker/img/makefile.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/SpellChecker/img/spell-check.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/SpellChecker/lang/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/SpellChecker/lang/cz.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/SpellChecker/lang/da.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/SpellChecker/lang/de.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/SpellChecker/lang/en.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/SpellChecker/lang/hu.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/SpellChecker/lang/it.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/SpellChecker/lang/makefile.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/SpellChecker/lang/ro.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/SpellChecker/makefile.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/SpellChecker/readme-tech.html   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/SpellChecker/spell-check-logic.cgi   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/SpellChecker/spell-check-style.css   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/SpellChecker/spell-check-ui.html   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/SpellChecker/spell-check-ui.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/SpellChecker/spell-checker.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/img/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/img/cell-delete.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/img/cell-insert-after.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/img/cell-insert-before.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/img/cell-merge.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/img/cell-prop.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/img/cell-split.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/img/col-delete.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/img/col-insert-after.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/img/col-insert-before.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/img/col-split.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/img/makefile.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/img/row-delete.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/img/row-insert-above.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/img/row-insert-under.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/img/row-prop.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/img/row-split.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/img/table-prop.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/cz.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/da.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/de.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/el.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/en.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/fi.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/hu.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/it.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/makefile.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/nl.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/no.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/ro.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/makefile.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/table-operations.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/makefile.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/popupdiv.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/popups/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/popups/about.html   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/popups/blank.html   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/popups/custom2.html   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/popups/editor_help.html   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/popups/fullscreen.html   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/popups/insert_image.html   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/popups/insert_table.html   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/popups/link.html   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/popups/makefile.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/popups/old-fullscreen.html   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/popups/old_insert_image.html   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/popups/popup.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/popups/select_color.html   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/popupwin.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/project-config.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/reference.html   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/release-notes.html   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/mattkruse-lib/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/mattkruse-lib.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/mattkruse-lib/AnchorPosition.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/mattkruse-lib/CalendarPopup.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/mattkruse-lib/OptionTransfer.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/mattkruse-lib/PopupWindow.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/mattkruse-lib/README.txt   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/mattkruse-lib/date.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/mattkruse-lib/selectbox.js   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/module.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/move_down.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/move_up.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/new.gif   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/post.xsp   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/homepage/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/homepage/module.xmap   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/homepage/page2xhtml.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/live/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/live/module.xmap   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/live/page2xhtml.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/navigation/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/navigation/admin-menu.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/navigation/breadcrumb.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/navigation/menu.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/navigation/module.xmap   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/navigation/module.xml   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/navigation/sitetree2nav.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/navigation/tabs.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/navigation/tabsall.xsl   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xhtml/
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xhtml/module.xmap   (with props)
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xhtml/xhtml.xsl   (with props)
Modified:
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/PageEnvelopeModule.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/publication/AbstractPublication.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/publication/DefaultDocument.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/publication/DefaultDocumentBuilder.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/publication/Publication.java
    lenya/branches/revolution/1.3.x/src/webapp/WEB-INF/cocoon-xconf.xsl
    lenya/branches/revolution/1.3.x/src/webapp/global-sitemap.xmap
    lenya/branches/revolution/1.3.x/src/webapp/lenya/info.xmap
    lenya/branches/revolution/1.3.x/src/webapp/lenya/navigation.xmap
    lenya/branches/revolution/1.3.x/src/webapp/lenya/pubs/default/config/publication.xconf
    lenya/branches/revolution/1.3.x/src/webapp/lenya/pubs/default/xslt/page2xhtml.xsl
    lenya/branches/revolution/1.3.x/src/webapp/sitemap.xmap

Added: lenya/branches/revolution/1.3.x/13ABOUT.txt
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/13ABOUT.txt?rev=413547&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/13ABOUT.txt (added)
+++ lenya/branches/revolution/1.3.x/13ABOUT.txt Sun Jun 11 16:24:48 2006
@@ -0,0 +1,57 @@
+About Lenya 1.3
+
+=== History
+In February 2006, I started a private fork of Lenya 1.2.2.  In June 2006, the other Committers expressed interest in (or demanded) the code.  I stopped new development, and integrated my code with Lenya1.2.x.  That merger is what you see.
+
+Lenya1.3 is not finished.  Specifically, it does not have the ability to edit documents directly in the flat datastore.  See the 13TODO.txt for everything still under development.
+
+Enjoy,
+solprovider
+
+
+=== Features
+There were 3 major design goals for Lenya 1.3:
+1. Improved plugins with better URLs (Modules).
+2. Flat datastore for content.
+3. Sensible working security.
+
+The new Module system was easy.  Using flat content is still under development; The migration code is complete, but content maintenance is not.  The new security system is designed, but no code has been written yet; it should not require much programming, but the ability to edit resources is a higher priority.
+
+
+== Modules
+Lenya1.3 Modules are an evolution of Lenya1.2's Usecases.  Eventually, all XMAP code (below global-sitemap.xmap) will be moved to Modules.  The advantages are:
+
+1. Standard directory naming.
+All Modules are in either {pub}/modules or webapp/lenya/modules.  A Module is referenced by the directory name.
+
+2. All files for a function in one location.
+All Flow (JavaScript) code for a function can be in a file named "code.js", and every Module can habe one.
+
+The homepage XSL is in a file "page2xhtml.xsl" in the "homepage" Module, rather than "page2xhtml-homepage.xsl" mixed with other XSLT files in one directory.
+
+The code for caching Resources is in the "cache" module, and is used only if the "cache" Module is included in the Publication.  Other Modules use its API when they desire caching.
+
+3. File Inheritance.
+Any files not in a Module are inherited from the parent Module, which inherits from its parent Module, ad infinitum.  If the file is not found in a Publication Module, Lenya checks a global Module.
+
+That means a Publication can have a local "homepage" Module that only contains "page2xhtml.xsl".  The rest of the functionality is retrieved from the global Module.
+
+4. Integrated into URL.
+Lenya1.2's "Area" portion of the URL defines functionality rather than revision.  Lenya1.2's Usecases are dynamically converted to this format.
+
+My belief is all Lenya configuration should be dynamically configurable while Lenya is running.  (Do not look at Module Inheritance or Indexing yet.  I said Lenya1.3 was not finished.)  Note that Lenya1.3 Modules cannot contain Java classes.  Programming that requires compilation is the domain of Java programmers who should be capable of integrating their code.  I have yet to find a function that cannot be implemented with XMAPs, XSLTs, JS (Flow), and XSP (ServerPages) that does not belong in Lenya's core.  Of course, other developers have different opinions.
+
+
+== Flat Content
+Resources may be type "xml" (Documents), "file" (Assets), or "link".  "xml" Resources have a doctype.  "file" Resources have an extension associated with each Revision.  Architectural files, such as Structures and CSS, will be moved into the datastore after the security system is implemented.
+
+The "flat" Module migrates Lenya1.2's Documents and Assets to the new format.  See 13UPGRADE.txt.
+
+All Resources are siblings.  This allows flat views such as all Resources, all Files, all PDFs, etc..  It also allows any Resource to be easily used by another, avoiding Lenya1.2's "An Asset belongs to a Document."
+
+Hierarchical Structures maintain tree relationships.  This allows multiple trees.
+
+Multiple document XML is created by defining Indexes.  Indexes can filter either all Resources, or just Resources in a Structure.
+
+Most of the benefits will not be evident until Lenya1.3 is finished.
+

Propchange: lenya/branches/revolution/1.3.x/13ABOUT.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: lenya/branches/revolution/1.3.x/13HELP.txt
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/13HELP.txt?rev=413547&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/13HELP.txt (added)
+++ lenya/branches/revolution/1.3.x/13HELP.txt Sun Jun 11 16:24:48 2006
@@ -0,0 +1,86 @@
+Lenya 1.3 Technical Help 
+
+=== Definitions
+A UNID (Universal Identifier) is a string specifying a Resource.  A UNID may be any string that can be used as a directory name.  A UNID could be a UUID (Universally Unique Identifier).  A UUID must be a 16 byte number.  A UNID does not have that restriction.  The "flat" migration Module assigns UNIDs: 0001, 0002, 0003, etc.
+
+
+=== URLs
+Lenya 1.2 URLs were:
+http://server/publication/area/path/documentID[_language].extension
+
+Functionality was added with Usecases specified in the querystring:
+http://server/publication/area/path/documentID[_language].extension?lenya.usecase=plugin-name
+
+Lenya 1.3 URLs are very different.  The new format is:
+http://server/publication/module
+http://server/publication/module/parameters
+
+- Areas are gone.  They were a poor data storage structure, and using them in URLs was silly.
+- Using the querystring for plugins is gone, although Lenya 1.3 will attempt to treat the Usecase as a Lenya1.3 Module, and fallback to Lenya1.2's Usecase framework for backwards-compatibility.
+- A documentID is not required.  Many functions (Search, Login) do not require a document.  Each Module developer decides the parameters.  If a documentID is used, it should be the last parameter, directly after the structure name.
+
+
+=== Content Storage
+The content directory can be configured in publication.xconf.  The "flat" migration Module always uses the {pub}/content directory (until it learns to check publication.xconf.  It is on the TODO list.)  Lenya 1.3 can use Lenya 1.2's file structure, although most of the new functionality has not been tested against the old structure.  The new structure is:
+
+content/index/{index-name}.xconf
+content/index/{index-name}_{language}.xml
+content/relation/{structure-name}.xml
+content/resource/{unid}/resource.xml
+content/resource/{unid}/{language}/translation.xml 
+content/resource/{unid}/{language}/{revision-number}.xml
+content/resource/{unid}/{language}/{revision-number}.{extension} - only if type="file"
+
+Resources are stored in the "resource" directory.
+Structures are currently stored in the "relation" directory to define relations between Resources.  They will become Resources soon.
+Indexes are used by the SitetreeGenerator, used for creating navigation elements.  Indexes can be flat or use a specific structure.
+
+The migration routine creates content/relations.xml.  This file stores information for running the "flat" migration multiple times to remember the UNID assigned to each Resource.
+
+=== File access
+The new Module protocol should be used for access to all files.
+
+The syntax is:
+module:///filename = current module
+module://module/filename = file in a different module.
+
+module:/publication/module/filename = file in a different publication.  A bug is that if that file uses the module: protocol, Lenya1.3 will search using the current publication, not the new target.  It is safer to use the cocoon: protocol when crossing publications.
+
+module::/... Double colons resets inheritance.  This was useful during development of the inheritance system, and might be removed.  It does not affect Module variables, which are only read when Lenya is first launched.
+
+Most XMAPs use the file: protocol.  When in a Module, file:myfile.ext and module:///myfile.ext would both return the file from the module's directory.  The difference is if the file is not in the module directory, the module: protocol will follow Module inheritance until it finds the file.
+
+Inheritance is by file.  Example:
+\build\lenya\webapp\lenya\modules\myModule\test1.xml
+\build\lenya\webapp\lenya\modules\myModule\test2.xml
+\build\lenya\webapp\lenya\pubs\mypub\modules\myModule\test2.xml
+\build\lenya\webapp\lenya\pubs\mypub\modules\myModule\test3.xml
+When in myModule (assuming no inheritance is specified):
+module:///test1.xml would inherit from the global Module.
+module:///test2.xml would use the local Module.  The global file is ignored.
+module:///test1.xml would use the local Module.
+
+Module Inheritance can be configured in publication.xconf so a Publication or specific Modules can be inherited from other Publications and Modules with other names.  This could be used for Templating: a Publication inherits all Modules from another Publication.  It can also be used to "subclass" Modules: a Module inherits from another Module, but changes the default configuration or one or more files.
+
+The filename defaults to "module.xmap".  This makes possible:
+<map:act type="resource-exists" src="module://homepage">
+Do not use the default with map:mount.
+<map:mount uri-prefix="" src="module://homepage"/> 
+Module variables will be retrieved from the current Module, not the target Module.  (That could be used for inheritance where only the Module variables are different, but it has not been tested.)  Always specify the filename for map:mount:
+<map:mount uri-prefix="" src="module://homepage/module.xmap"/> 
+
+
+=== Module variables
+module:module returns name of module.  Always use for the module name so the Module can be renamed without breaking functionality.
+
+module:parameterName returns parameter from publication.xconf.  If the local Module does not configure the variable, it follows inheritance to the publication.xconf in each Publication containing parent Modules. Default variables can be specified in module.xconf for use if no inherited Publication's publication.xconf has the variable.  The defaults also follow inheritance.  
+
+(As of 2006-06-08, variables do not follow inheritance when inheriting from a Module with a different name.  This will be fixed soon.)
+
+=== Content protocol
+Retrieves content.
+
+content:///path/docid - Use default "live" structure.
+content://structure/path/docid - Get Resource using a specific structure to convert to a UNID.
+content:/unid - Get the Resource by the UNID.
+

Propchange: lenya/branches/revolution/1.3.x/13HELP.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: lenya/branches/revolution/1.3.x/13TODO.txt
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/13TODO.txt?rev=413547&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/13TODO.txt (added)
+++ lenya/branches/revolution/1.3.x/13TODO.txt Sun Jun 11 16:24:48 2006
@@ -0,0 +1,178 @@
+=== 1.2.x Conversion
+Session Module: login.xsp -> NullPointerException
+
+===
+Modules.java - Add EXCLUDE parameter to config
+
+== Menu Module
+Fix XSL
+Started fixing menu.xsl.  All others have not been touched.
+DESIGN: Pass prefix ("root" parameter) from parent module?
+
+=== Modules.java
+synchronize setting of static variables.
+
+Move inherit to static (publication.module.name=publication.module.name).
+Module variable inheritance must follow name changes (inherit="differentModuleName").
+Fix getVariable() to use inherit.
+New "inherit": publication.module -> list(array) of publication.module
+There may be more than one publication.  Each Module inherits from only one Module name.
+Use for both File and Variable inheritance.
+
+
+=== CreateRevisionTransformer
+Create new Resource if none specified or does not exist.  Allow a Title parameter, and default to "NEW" + datetime.
+
+TEST If request has file upload, save uploaded file with newrevision.
+Save upload Part.  Do not depend on field name.
+
+Add userid and datetime (and extension if fileupload) to root element of revisionUNID.xml
+
+Set "edit"=newRevision in Translation.xml [FlatContent.getNewFilename()]
+
+=== "flat" Module
+Use Content directory from publication.xconf
+
+Rethink structures.  
+Need "live" or "homepage"?.  Rename livemenu to live?  What variations are useful?
+All = all relations, use for authoring
+Live = use for menus.  Do not include /index.
+StructureEditor should use "visible in menu" flag to build "live".  Checkboxes on Structure editor.
+
+=== Indexer
+Currently indexes everything in Flat Publications every time (and only when) Lenya1.3 starts.
+
+Need sensible test to reindex after a Resource or Structure is changed.  Development must wait until Resource Editor is ready, since saving a Resource should trigger the Indexer.
+
+=== ContentModule.java
+content:type|doctype|...:docid
+(Currently always returns "test".)
+Return specified variable from current Resource/Translation.
+Use FlatIndexPart for retrieval?
+
+=== ModuleModule.java
+module variables: publication.xconf (implemented), then get defaults from module.xconf, follow inheritance until found.
+
+=== XML Serializer
+Automatically pass through i18n Transformer using current module and current language.
+Build catalog using Module Inheritance.  Cannot be file level inheritance; local overrides only local tags, and others are from ancestors.
+
+i18n Transformer must not remove i18n tags that are not in current catalog.  Unknown messages must wait for other Modules and HTMLSerializer.
+
+=== HTML Serializer
+Add link rewriting.  
+Change <LINK UNID="xxx"> to appropriate A tag.
+Change <LINK UNID="xxx" TAG="img"> to appropriate IMG tag.
+
+Automatically pass through i18n Transformer using current language.  Build catalog from current module (including inheritance), publication, and global.
+Replace unfound i18n tags with default.
+
+=== CreateRevisionTransformer
+Replace all A and IMG tags with appropriate LINK tags, creating new Resources as necessary.
+
+=== Admin Screens
+Admin screen: Navigation between User/Group maintenance and Site maintenance.
+
+Admin screen: Structure editor
+Move structures to Resources so editing uses revision control.
+Create new structure.  Copy existing.  Add Resources not in structure.  Move Resource to new parent or root.
+Careful: must keep Resource even if does not exist in current language.  Show greyed, but still allow move.
+
+Admin screen: Language chooser
+Since all code is based on current language, may need method to have Admin menus in different language than Resource displayed.  Probably add langauge as parameter:
+http:server/pub/admin/en/docid_xx.html
+
+Admin screens: Revision chooser
+Show all revisions (*.xml from Translation directory, not including "translation.xml").  Sort by datetime.
+Mark the Live and Edit (last saved) revisions.
+"Publish" sets live revision.
+"Edit" opens specified revision.
+Use slider at top.  Start at "edit" revision.  WYSIWYG RichText fields (must open in XHTML editor to edit).
+
+Admin screens: Document fields editor 
+Pull from Resource, Translation, and Meta
+Update structures if "id" has changed.
+Upload control if type="file".  How to save?
+
+Admin screens: Document editor for rich text (XHTML) fields.  Integrate Kupu etc. for editing rich text field.  Use a transform to place into Revision XML, then call CreateRevisionTransformer.
+
+Create Resource
+Add Language
+
+Resource @defaultlanguage used to return one Translation for all requests.  Does it work?
+
+=== PageEnvelope
+Smart attempts to find document.
+/publication/module + 
+/structure/path/page.html
+/path/page.html  (Assume module is structure, then assume "live")
+/parameters/structure/path/page.html
+/parameters/path/page.html
+Also check if last element is a UNID.
+
+=== Modules
+ContentModule.java "content:" Variables: type, doctype, extension.
+
+Each type and most subtypes (doctype, extension) has own Module, defines read format (div=body), fields for editing (Title is assumed), workflow, search fields (title, blurb, body)
+
+
+=== Search
+Wait until doctype Modules.
+Doctype Configuration should define Body.
+Title is assumed from Revision Title?  Or allow override?
+Multiple Languages?  Or separate indexes for each language?
+Filter by type?  doctype?  IndexPart?
+URLs: Use a Structure?  All flat (UNIDs)?  Choice?  (I dislike UNIDs in URLs, but a Structure limits the results to what it contains.)
+
+
+=======================
+====    Security   ====
+=======================
+Resource-level Security.
+Access Control List in Resource.xml
+"admin" Group bypasses security and is allowed to do anything.
+<acl><read default="yes"><person|group|role id="name" access="yes|no"></read><edit default="yes">same as read</edit></acl>
+Implement in SitetreeGenerator and ContentSourceFactory.
+"Not allowed" returns Sorry page (rather than error).
+"Does not exist" returns same Sorry page.
+Sorry: This resource is not available, either it does not exist or you do not have access to it.  (Link to Login page if not logged in.)
+
+DESIGN: How to handle inheritance?  Multiple parents?  Assume "live" structure?
+
+=======================
+====  Enhancements ====
+=======================
+Resource: Active dates: start, expire
+Careful: All children will disappear from Index when parent is deactivated.
+
+Resources: Deleting index kills a structure.  Maintain Structures as Resources with automatic versioning for easy rollback.
+
+Admin screen: User/Group editor
+
+Admin screen: User editor
+Change FileUser to allow dynamic fields.  Show all fields.  Pub can configure list of fields with default values.
+
+Editor: Save checks for static links and replaces with ResourceLink.  Create new Resource type=link for external links if they do not exist.  Need syntax for embedded links.  <link structure="live" unid="####"/>.  Structure needed to create human-readable URLs.  HTMLSerializer should replace with Anchor tag containing Title.  Need marker for link in editor, or use WYSIWYG (Replace with HTML for editing, then replace with link tag during save)?
+
+Editor: Create reusable CSS classes?  Create "style" with settings of current location.  Maintenance?  For one RichText field, all RichText fields of the same type, for whole Publication, or Lenya server?  Will be easier when CSS are Resources.
+
+Editor: Fix tables.  Is there a better plugin?
+
+
+== FlatIndexPart
+Parse using / forcing begining, * for any element, and // for any number of elements 
+Example: token = "/xml" must be root
+Example: token = "/*/*" must be second level
+Example: token = "//xml/file" must be file under xml, but xml can be at any level.
+
+
+== Indexer
+Pull confs from Modules.
+Queue background indexing.
+Thread check next index.
+Send changes to indexes with return of needsIndexing so add to queue.
+If exists and does not need updating, return
+If exists and needs updating, check update freq.  If cache-and-update (assume true), start new thread for update.
+Match identical indexconfs, same filters.  ?superset include unless different value for same name.  Could cause issues if poor code copies extra attributes.
+
+

Propchange: lenya/branches/revolution/1.3.x/13TODO.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: lenya/branches/revolution/1.3.x/13UPGRADE.txt
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/13UPGRADE.txt?rev=413547&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/13UPGRADE.txt (added)
+++ lenya/branches/revolution/1.3.x/13UPGRADE.txt Sun Jun 11 16:24:48 2006
@@ -0,0 +1,79 @@
+How to Upgrade to Lenya 1.3
+
+You must have a Lenya1.2 Publication.  Lenya1.3 knows nothing about Lenya1.4.  Until Lenya1.3 can edit documents in the flat datastore, you must use Lenya1.2's edit capabilities with Lenya1.2's hierarchical content.
+
+First, install Lenya1.3.  Follow the instructions from the Release Notes for Lenya1.2, except download the code from Lenya1.3's SVN.
+
+=== Converting Publications
+The only required conversion is to change XSL references in page2xhtml.xsl and similar files:
+CHANGE:
+select="xhtml:div[@id = 'body']"
+TO:
+select="xhtml:html/xhtml:div[@id = 'body']"
+
+
+=== Converting data to flat datastore
+Open the URL:
+http://{yourServer}/{yourPublication}/flat/migrate
+
+To use the flat datastore, 
+FILE: {pub}/config/publication.xconf
+ADD the following line:
+<content type="flat">content</content>
+If you move the content directory, change the value.
+
+
+=== Converting Usecases to Modules
+In your {pub} directory, create a directory names "modules".
+
+In the {pub}/modules directory, create one directory for each Usecase.  The Usecase directories should have the name from the Usecase XMAPs.  So if you have {pub}/usecase-search.xmap, create a directory {pub}/modules/search.
+
+COPY each of the Usecase XMAPs to the appropriate directory.  
+
+RENAME the copied files (in {pub}/modules/{moduleID} to "module.xmap".
+
+Open each of those files and fix the filepaths.  No changes are necessary for "cocoon:",  "fallback:" and "http:", but every "file:" src parameter must be fixed, including entries without a protocol.  For now, just add "module:///../../" to the beginning of each src parameter.
+EXAMPLE:
+src="xxx"
+src="file:/xxx
+BECOMES:
+src="module:///../../xxx"
+
+When accessing the content directory, use the content: protocol.
+
+Once the Modules are created, Lenya1.3 will automatically use them, even when the request uses the "?lenya.usecase=" format.
+
+If you may revert the Publication to Lenya1.2, make the following changes.  Otherwise, delete all the {pub}/usecase-{usecaseID}.xmap files.
+
+MODIFY FILES: {pub}/usecase-{usecaseID}.xmap
+Change the  {usecaseID} appropriately.
+<?xml version="1.0" encoding="UTF-8"?>
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+  <map:pipelines>
+    <map:pipeline>
+        <map:mount uri-prefix="" src="modules/{usecaseID}/module.xmap"/>
+    </map:pipeline>
+  </map:pipelines>
+</map:sitemap>
+
+
+=== Converting to Live and Authoring Modules
+We do not recommend creating a "live" Module from these instructions so the global "live" Module is used, but it may be better to use the existing code if your publication is heavily customized.
+
+In the {pub}/modules directory, create directories named "live" and "authoring".
+
+Copy {pub}/publication-sitemap.xmap to {pubs}/modules/live/module.xmap and {pub}/modules/authoring/module.xmap
+
+Fix the SRC tags as discussed in the preceding section.
+
+MODIFY FILE:{pub}/publication-sitemap.xmap
+<?xml version="1.0" encoding="UTF-8"?>
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+  <map:pipelines>
+    <map:pipeline>
+        <map:mount uri-prefix="" src="modules/authoring/module.xmap"/>
+    </map:pipeline>
+  </map:pipelines>
+</map:sitemap>
+
+The "authoring" Module will be used in case publication-sitemap.xmap is processed.

Propchange: lenya/branches/revolution/1.3.x/13UPGRADE.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/ContentModule.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/ContentModule.java?rev=413547&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/ContentModule.java (added)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/ContentModule.java Sun Jun 11 16:24:48 2006
@@ -0,0 +1,100 @@
+package org.apache.lenya.cms.cocoon.components.modules.input;
+import java.io.File;
+import java.net.MalformedURLException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import org.apache.avalon.framework.component.ComponentManager;
+import org.apache.avalon.framework.configuration.Configuration;
+import org.apache.avalon.framework.configuration.ConfigurationException;
+import org.apache.avalon.framework.context.Context;
+import org.apache.avalon.framework.context.Contextualizable;
+import org.apache.avalon.framework.context.ContextException;
+import org.apache.avalon.framework.service.ServiceException;
+import org.apache.avalon.framework.service.ServiceManager;
+import org.apache.avalon.framework.service.Serviceable;
+import org.apache.avalon.framework.thread.ThreadSafe;
+import org.apache.excalibur.source.Source;
+import org.apache.excalibur.source.SourceResolver;
+import org.apache.excalibur.source.SourceUtil;
+import org.apache.excalibur.source.URIAbsolutizer;
+import org.apache.cocoon.components.CocoonComponentManager;
+import org.apache.cocoon.components.ContextHelper;
+import org.apache.lenya.cms.content.Content;
+import org.apache.lenya.cms.content.Resource;
+import org.apache.lenya.cms.publication.Modules;
+import org.apache.lenya.cms.publication.PageEnvelope;
+import org.apache.lenya.cms.publication.Publication;
+
+
+
+/**
+ * Retrieves Content Variables from the appropriate Resource
+ * 
+ * Variables are specified as <module name="modulename"><variable name="{variablename}">{value}</variable></module>
+ */
+public class ContentModule extends AbstractPageEnvelopeModule implements Serviceable, Contextualizable, ThreadSafe {
+    private ServiceManager manager;
+    private org.apache.avalon.framework.context.Context context;
+    /**
+     * @see org.apache.cocoon.components.modules.input.InputModule#getAttribute(java.lang.String,
+     *      org.apache.avalon.framework.configuration.Configuration, java.util.Map)
+     */
+
+    public Object getAttribute(String name, Configuration modeConf, Map objectModel) throws ConfigurationException {
+        if(getLogger().isDebugEnabled()) {
+           getLogger().debug("Resolving [" + name + "]");
+        }
+        PageEnvelope pe = getEnvelope(objectModel);
+        Publication pub = pe.getPublication();
+        String publication = pub.getId();
+        Content content = pub.getContent();
+//        Resource resource = content.getResource();
+//        if(name.equalsIgnoreCase("type")) return resource.getType();
+//        if(name.equalsIgnoreCase("doctype")) return resource.getDocumentType();
+//        if(name.equalsIgnoreCase("documenttype")) return resource.getDocumentType();
+//        if(name.equalsIgnoreCase("defaultlanguage")) return resource.getDefaultLanguage();
+//        if(name.equalsIgnoreCase("extension")) return resource.getExtension();
+        return "test";
+    }
+
+    /**
+     * @see org.apache.cocoon.components.modules.input.InputModule#getAttributeNames(org.apache.avalon.framework.configuration.Configuration,
+     *      java.util.Map)
+     */
+    public Iterator getAttributeNames(Configuration modeConf, Map objectModel) throws ConfigurationException {
+        return Collections.EMPTY_SET.iterator();
+    }
+
+    /**
+     * @see org.apache.cocoon.components.modules.input.InputModule#getAttributeValues(java.lang.String,
+     *      org.apache.avalon.framework.configuration.Configuration, java.util.Map)
+     */
+    public Object[] getAttributeValues(String name, Configuration modeConf, Map objectModel)
+            throws ConfigurationException {
+        Object[] objects = { getAttribute(name, modeConf, objectModel) };
+        return objects;
+    }
+
+    /**
+     * @see org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.framework.service.ServiceManager)
+     */
+    public void service(ServiceManager manager) throws ServiceException {
+        this.manager = manager;
+    }
+    /**
+     * Contextualizable, get the object model
+     */
+    public void contextualize( Context context ) throws ContextException {
+        this.context = context;
+    }
+    /**
+     * @see org.apache.avalon.framework.configuration.Configurable#configure(org.apache.avalon.framework.configuration.Configuration)
+     */
+    public void configure(Configuration conf) throws ConfigurationException {
+        super.configure(conf);
+    }
+}
\ No newline at end of file

Propchange: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/ContentModule.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/ModuleModule.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/ModuleModule.java?rev=413547&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/ModuleModule.java (added)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/ModuleModule.java Sun Jun 11 16:24:48 2006
@@ -0,0 +1,131 @@
+package org.apache.lenya.cms.cocoon.components.modules.input;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.StringTokenizer;
+import org.apache.avalon.framework.configuration.Configuration;
+import org.apache.avalon.framework.configuration.ConfigurationException;
+import org.apache.avalon.framework.context.Context;
+import org.apache.avalon.framework.context.Contextualizable;
+import org.apache.avalon.framework.context.ContextException;
+import org.apache.avalon.framework.service.ServiceException;
+import org.apache.avalon.framework.service.ServiceManager;
+import org.apache.avalon.framework.service.Serviceable;
+import org.apache.avalon.framework.thread.ThreadSafe;
+import org.apache.cocoon.components.ContextHelper;
+import org.apache.lenya.cms.publication.PageEnvelope;
+
+import java.net.MalformedURLException;
+import org.apache.excalibur.source.Source;
+import org.apache.excalibur.source.SourceResolver;
+import org.apache.lenya.cms.publication.Modules;
+import org.apache.lenya.cms.publication.Publication;
+
+import org.apache.cocoon.components.CocoonComponentManager;
+import org.apache.avalon.framework.component.ComponentManager;
+import org.apache.excalibur.source.SourceUtil;
+import org.apache.excalibur.source.URIAbsolutizer;
+
+/**
+ * Retrieves Module Variables from publication.xconf and module.xml.
+ * 
+ * Variables are specified as <module name="modulename"><variable name="{variablename}">{value}</variable></module>
+ */
+public class ModuleModule extends AbstractPageEnvelopeModule implements Serviceable, Contextualizable, ThreadSafe {
+    private ServiceManager manager;
+    private org.apache.avalon.framework.context.Context context;
+    /**
+     * @see org.apache.cocoon.components.modules.input.InputModule#getAttribute(java.lang.String,
+     *      org.apache.avalon.framework.configuration.Configuration, java.util.Map)
+     */
+
+    public Object getAttribute(String name, Configuration modeConf, Map objectModel) throws ConfigurationException {
+        if(getLogger().isDebugEnabled()) {
+           getLogger().debug("Resolving [" + name + "]");
+        }
+        PageEnvelope pe = getEnvelope(objectModel);
+        Publication pub = pe.getPublication();
+        String publication = pub.getId();
+        Modules modules = pub.getModules();
+        String module = getModuleID();
+        if(name.equalsIgnoreCase("module")) return module;
+//TEST
+//String ret = modules.getVariable(publication, module, name);
+//System.out.println("VAR:" + publication  + "." + module + "." + name+"="+ ret);
+//return ret;
+        return modules.getVariable(publication, module, name);
+    }
+
+    /**
+     * @see org.apache.cocoon.components.modules.input.InputModule#getAttributeNames(org.apache.avalon.framework.configuration.Configuration,
+     *      java.util.Map)
+     */
+    public Iterator getAttributeNames(Configuration modeConf, Map objectModel) throws ConfigurationException {
+        return Collections.EMPTY_SET.iterator();
+    }
+
+    /**
+     * @see org.apache.cocoon.components.modules.input.InputModule#getAttributeValues(java.lang.String,
+     *      org.apache.avalon.framework.configuration.Configuration, java.util.Map)
+     */
+    public Object[] getAttributeValues(String name, Configuration modeConf, Map objectModel)
+            throws ConfigurationException {
+        Object[] objects = { getAttribute(name, modeConf, objectModel) };
+        return objects;
+    }
+
+    /**
+     * @see org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.framework.service.ServiceManager)
+     */
+    public void service(ServiceManager manager) throws ServiceException {
+        this.manager = manager;
+    }
+    /**
+     * Contextualizable, get the object model
+     */
+    public void contextualize( Context context ) throws ContextException {
+        this.context = context;
+    }
+    /**
+     * @see org.apache.avalon.framework.configuration.Configurable#configure(org.apache.avalon.framework.configuration.Configuration)
+     */
+    public void configure(Configuration conf) throws ConfigurationException {
+        super.configure(conf);
+    }
+   private String getModuleID() {
+        String uri = "";
+        String module = "";
+        try{
+           SourceResolver resolver = (SourceResolver) manager.lookup(SourceResolver.ROLE);
+           Source source = resolver.resolveURI("");
+           uri = source.getURI();
+            if (resolver != null) manager.release(resolver);
+       }catch(org.apache.avalon.framework.service.ServiceException se){
+           //Report Error?
+        }catch(java.net.MalformedURLException mue){
+           //Report Error?
+        }catch(java.io.IOException ioe){
+           //Report Error?
+        }
+//TODO: Release resolver
+        StringTokenizer tokens = new StringTokenizer(uri, "/");
+        while(tokens.hasMoreTokens() && !(tokens.nextToken().equals("modules")));
+        if(tokens.hasMoreTokens()) module = tokens.nextToken();
+/* Obsolete
+        int pos = uri.indexOf("modules/");
+        if(pos > -1){
+             pos += "modules/".length();
+             int endpos = uri.indexOf("/", pos);
+             if(endpos > -1){
+               module = uri.substring(pos, endpos);
+             }else module = uri.substring(pos);
+        }
+*/
+        // Finish
+        return module;
+   }
+}
\ No newline at end of file

Propchange: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/ModuleModule.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/PageEnvelopeModule.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/PageEnvelopeModule.java?rev=413547&r1=413546&r2=413547&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/PageEnvelopeModule.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/PageEnvelopeModule.java Sun Jun 11 16:24:48 2006
@@ -124,6 +124,9 @@
                 value = envelope.getPublication().getDefaultLanguage();
             } else if (name.equals(PageEnvelope.DOCUMENT_LANGUAGE)) {
                 value = envelope.getDocument().getLanguage();
+//LENYA1.3 - BEGIN
+                if(((String) value).length() < 1) value = envelope.getPublication().getDefaultLanguage();
+//LENYA1.3 - END
             } else if (name.equals(PageEnvelope.DOCUMENT_LANGUAGES)) {
                 value = envelope.getDocument().getLanguages();
             } else if (name.equals(PageEnvelope.DOCUMENT_LANGUAGES_CSV)) {
@@ -168,12 +171,13 @@
             } else {
                 throw new ConfigurationException("The attribute [" + name + "] is not supported!");
             }
-        } catch (ConfigurationException e) {
-            throw e;
+//Lenya1.3 - BEGIN
+//        } catch (ConfigurationException e) {
+//            throw e;
         } catch (Exception e) {
-            throw new ConfigurationException(
-                "Getting attribute for name [" + name + "] failed: ",
-                e);
+//            throw new ConfigurationException("Getting attribute for name [" + name + "] failed: ", e);
+              value = "";
+//Lenya1.3 - END
         }
 
         if (getLogger().isDebugEnabled()) {

Added: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/PublicationModule.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/PublicationModule.java?rev=413547&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/PublicationModule.java (added)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/PublicationModule.java Sun Jun 11 16:24:48 2006
@@ -0,0 +1,105 @@
+package org.apache.lenya.cms.cocoon.components.modules.input;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import org.apache.avalon.framework.configuration.Configuration;
+import org.apache.avalon.framework.configuration.ConfigurationException;
+import org.apache.avalon.framework.context.Context;
+import org.apache.avalon.framework.context.Contextualizable;
+import org.apache.avalon.framework.context.ContextException;
+import org.apache.avalon.framework.service.ServiceException;
+import org.apache.avalon.framework.service.ServiceManager;
+import org.apache.avalon.framework.service.Serviceable;
+import org.apache.avalon.framework.thread.ThreadSafe;
+import org.apache.cocoon.components.ContextHelper;
+import org.apache.lenya.cms.publication.PageEnvelope;
+
+import java.net.MalformedURLException;
+import org.apache.excalibur.source.Source;
+import org.apache.excalibur.source.SourceResolver;
+import org.apache.lenya.cms.publication.Publication;
+
+import org.apache.cocoon.components.CocoonComponentManager;
+import org.apache.avalon.framework.component.ComponentManager;
+import org.apache.excalibur.source.SourceUtil;
+import org.apache.excalibur.source.URIAbsolutizer;
+
+/**
+ * Retrieves Publication variables.
+ */
+public class PublicationModule extends AbstractPageEnvelopeModule implements Serviceable, Contextualizable, ThreadSafe {
+    private ServiceManager manager;
+    private org.apache.avalon.framework.context.Context context;
+    /**
+     * @see org.apache.cocoon.components.modules.input.InputModule#getAttribute(java.lang.String,
+     *      org.apache.avalon.framework.configuration.Configuration, java.util.Map)
+     */
+
+    public Object getAttribute(String name, Configuration modeConf, Map objectModel) throws ConfigurationException {
+        if(getLogger().isDebugEnabled()) {
+           getLogger().debug("Resolving [" + name + "]");
+        }
+        PageEnvelope pe = getEnvelope(objectModel);
+        Publication pub = pe.getPublication();
+        if(name.equalsIgnoreCase("contenttype")) return pub.getContentType();
+        if(name.equalsIgnoreCase("defaultlanguage")) return pub.getDefaultLanguage();
+        if(name.equalsIgnoreCase("BreadcrumbPrefix")) return pub.getBreadcrumbPrefix();
+        if(name.equalsIgnoreCase("SSLPrefix")) return pub.getSSLPrefix();
+        try{
+        if(name.equalsIgnoreCase("ServletContext")) return pub.getServletContext().getCanonicalPath();
+        if(name.equalsIgnoreCase("Directory")) return pub.getDirectory().getCanonicalPath();
+        if(name.equalsIgnoreCase("ContentDirectory")) return pub.getContentDirectory().getCanonicalPath();
+        }catch(java.io.IOException ioe){
+           return "error";
+        }
+
+        if(name.equalsIgnoreCase("defaultlanguage")){
+           String[] langa = pub.getLanguages();
+           String langs = langa[0];
+           for(int l=1; l < langa.length; l++) langs += ";" + langa[l];
+           return langs;
+        }
+        return pub.getId();
+    }
+
+    /**
+     * @see org.apache.cocoon.components.modules.input.InputModule#getAttributeNames(org.apache.avalon.framework.configuration.Configuration,
+     *      java.util.Map)
+     */
+    public Iterator getAttributeNames(Configuration modeConf, Map objectModel) throws ConfigurationException {
+        return Collections.EMPTY_SET.iterator();
+    }
+
+    /**
+     * @see org.apache.cocoon.components.modules.input.InputModule#getAttributeValues(java.lang.String,
+     *      org.apache.avalon.framework.configuration.Configuration, java.util.Map)
+     */
+    public Object[] getAttributeValues(String name, Configuration modeConf, Map objectModel)
+            throws ConfigurationException {
+        Object[] objects = { getAttribute(name, modeConf, objectModel) };
+        return objects;
+    }
+
+    /**
+     * @see org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.framework.service.ServiceManager)
+     */
+    public void service(ServiceManager manager) throws ServiceException {
+        this.manager = manager;
+    }
+    /**
+     * Contextualizable, get the object model
+     */
+    public void contextualize( Context context ) throws ContextException {
+        this.context = context;
+    }
+    /**
+     * @see org.apache.avalon.framework.configuration.Configurable#configure(org.apache.avalon.framework.configuration.Configuration)
+     */
+    public void configure(Configuration conf) throws ConfigurationException {
+        super.configure(conf);
+    }
+}
\ No newline at end of file

Propchange: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/PublicationModule.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/Usecase2ModuleModule.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/Usecase2ModuleModule.java?rev=413547&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/Usecase2ModuleModule.java (added)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/Usecase2ModuleModule.java Sun Jun 11 16:24:48 2006
@@ -0,0 +1,110 @@
+package org.apache.lenya.cms.cocoon.components.modules.input;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import org.apache.avalon.framework.configuration.Configuration;
+import org.apache.avalon.framework.configuration.ConfigurationException;
+import org.apache.avalon.framework.context.Context;
+import org.apache.avalon.framework.context.Contextualizable;
+import org.apache.avalon.framework.context.ContextException;
+import org.apache.avalon.framework.service.ServiceException;
+import org.apache.avalon.framework.service.ServiceManager;
+import org.apache.avalon.framework.service.Serviceable;
+import org.apache.avalon.framework.thread.ThreadSafe;
+import org.apache.cocoon.components.ContextHelper;
+import org.apache.lenya.cms.publication.PageEnvelope;
+/**
+ * Converts querystring Usecases into Module format.
+ */
+public class Usecase2ModuleModule extends AbstractPageEnvelopeModule implements Serviceable, Contextualizable, ThreadSafe {
+    private ServiceManager manager;
+    private org.apache.avalon.framework.context.Context context;
+    /**
+     * @see org.apache.cocoon.components.modules.input.InputModule#getAttribute(java.lang.String,
+     *      org.apache.avalon.framework.configuration.Configuration, java.util.Map)
+     */
+    public Object getAttribute(String name, Configuration modeConf, Map objectModel) throws ConfigurationException {
+        if(getLogger().isDebugEnabled()) {
+           getLogger().debug("Resolving [" + name + "]");
+        }
+        String resolvedUri = name;
+          PageEnvelope pe = getEnvelope(objectModel);
+          String publication = pe.getPublication().getId();
+          Map contextmap = ContextHelper.getObjectModel(context);
+          org.apache.cocoon.environment.http.HttpRequest req = 
+                 (org.apache.cocoon.environment.http.HttpRequest) contextmap.get("request");
+          String request = req.getRequestURI();
+          String qs = req.getQueryString();
+          String lu = req.getParameter("lenya.usecase");
+          if(null == lu) lu = "";
+//STEP          String ls = req.getParameter("lenya.step");
+//STEP          if(null == ls) ls = "";
+          String before = "";
+          String after = "";
+          int pos = request.indexOf(publication);
+          if(pos > 0) {
+             pos += publication.length();
+             before = request.substring(0, pos + 1);
+              pos = request.indexOf("/", pos + 1);
+              if(pos > 0){
+                 after = request.substring(pos);
+                 if(lu.length() > 0){
+                    before += lu;
+                 }else{
+                     before = request.substring(0, pos);
+                 }
+              }
+//STEP              if(ls.length() > 0){
+//STEP                 before += "/" + ls;
+//STEP              }
+              qs = qs.replaceAll("lenya.usecase=" + lu, "");
+//STEP              qs = qs.replaceAll("lenya.step=" + ls, "");
+              //Cleanup
+              qs = qs.replaceAll("&&", "&");
+              qs = qs.replaceAll("\\?&", "\\?");
+              qs = qs.replaceAll("&$", "");
+              resolvedUri = before + after + "?" + qs;
+          }
+        return resolvedUri;
+    }
+
+    /**
+     * @see org.apache.cocoon.components.modules.input.InputModule#getAttributeNames(org.apache.avalon.framework.configuration.Configuration,
+     *      java.util.Map)
+     */
+    public Iterator getAttributeNames(Configuration modeConf, Map objectModel) throws ConfigurationException {
+        return Collections.EMPTY_SET.iterator();
+    }
+
+    /**
+     * @see org.apache.cocoon.components.modules.input.InputModule#getAttributeValues(java.lang.String,
+     *      org.apache.avalon.framework.configuration.Configuration, java.util.Map)
+     */
+    public Object[] getAttributeValues(String name, Configuration modeConf, Map objectModel)
+            throws ConfigurationException {
+        Object[] objects = { getAttribute(name, modeConf, objectModel) };
+        return objects;
+    }
+
+    /**
+     * @see org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.framework.service.ServiceManager)
+     */
+    public void service(ServiceManager manager) throws ServiceException {
+        this.manager = manager;
+    }
+    /**
+     * Contextualizable, get the object model
+     */
+    public void contextualize( Context context ) throws ContextException {
+        this.context = context;
+    }
+    /**
+     * @see org.apache.avalon.framework.configuration.Configurable#configure(org.apache.avalon.framework.configuration.Configuration)
+     */
+    public void configure(Configuration conf) throws ConfigurationException {
+        super.configure(conf);
+    }
+}
\ No newline at end of file

Propchange: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/Usecase2ModuleModule.java
------------------------------------------------------------------------------
    svn:eol-style = native



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org