Annotation of kupu/doc/PLONE2.txt, revision 1.1

1.1     ! dwinter     1: =========================
        !             2: Installing Kupu in Plone2
        !             3: =========================
        !             4: 
        !             5: .. contents:: Table of Contents
        !             6:    :depth: 2
        !             7:    :backlinks: top
        !             8: 
        !             9: .. sectnum::
        !            10:    :depth: 2
        !            11: 
        !            12: Requirements
        !            13: ------------
        !            14: 
        !            15: * Zope 2.7 and Python 2.3.3 or greater
        !            16: 
        !            17: * Plone 2.0 or greater
        !            18: 
        !            19: * CMF 1.4 or greater
        !            20: 
        !            21: If you are installing a development build checked out from SVN then
        !            22: you also need:
        !            23: 
        !            24: * An XSLT processor with XInclude support, such as xsltproc from
        !            25:   Gnome's libxml/libxslt.
        !            26: 
        !            27: You do not require an XSLT processor if you are installing a released
        !            28: version of Kupu.
        !            29: 
        !            30: Installation
        !            31: ------------
        !            32: 
        !            33: Drop the 'kupu' directory into your instance home's Products
        !            34: directory.
        !            35: 
        !            36: If you are installing from a release tar bundle, the following build
        !            37: steps may be skipped. Skip down to the paragraph starting `Now restart
        !            38: the Zope instance`_.
        !            39: 
        !            40: If you are installing a version checked out of SVN then you must
        !            41: generate the Plone template by typing::
        !            42: 
        !            43:   $ make plonemacros
        !            44: 
        !            45: If you see xsltproc throw an error about not being able to load
        !            46: external entities, ignore it.
        !            47: 
        !            48: Windows users need to first get a copy of xsltproc.exe from
        !            49: http://www.zlatkovic.com/pub/libxml/. As a minimum you need to
        !            50: download the zipfiles for libxslt, libxml2, iconv and zlib.
        !            51: Extracting all of the .dll and .exe files into ``c:\libxslt`` is
        !            52: sufficient for the make command to work (ignore subdirectories in the
        !            53: zipfiles). Then just start a command prompt in the kupu directory and
        !            54: run the same command as for other users (on windows it runs make.bat
        !            55: so you don't need a separate make program)::
        !            56: 
        !            57:    C:\>cd \Plone 2\Data\Products\kupu
        !            58:    C:\Plone 2\Data\Products\kupu>make plonemacros
        !            59: 
        !            60: .. _Now restart the Zope instance:
        !            61: 
        !            62: Now restart the Zope instance. Now go to the Plone Control Panel,
        !            63: section Add/remove Products and select 'kupu' for installation.
        !            64: 
        !            65: Usually, every user has to explicitly set their preferred editor to
        !            66: 'kupu' in 'My Preferences' in order to use kupu. Kupu and recent
        !            67: versions of Epoz may both be installed on the same Plone site allowing
        !            68: users to choose whichever they prefer. You can specify Kupu as the
        !            69: default editor for new users from the ZMI::
        !            70: 
        !            71:   "portal_memberdata" -> "Properties" -> "wysiwyg_editor" = "Kupu"
        !            72: 
        !            73: Upgrading
        !            74: =========
        !            75: If you are upgrading from an earlier version of Kupu then be aware
        !            76: that some of the default settings for Plone may have changed.
        !            77: 
        !            78: If you have not changed any of the default settings, then you should
        !            79: run the new 'sample-kupu-customisation-policy' script in the
        !            80: kupu-plone skin folder. This will reset all configuration options to
        !            81: their defaults.
        !            82: 
        !            83: If you have customised your own setting then you should create your
        !            84: own 'kupu-customisation-policy' script based on the sample. The script
        !            85: has been written such that in most cases only the data declarations at
        !            86: the beginning of the script will need changing.
        !            87: 
        !            88: Installation Problems
        !            89: =====================
        !            90: 
        !            91: Macro Nesting
        !            92: ~~~~~~~~~~~~~
        !            93: 
        !            94: When attempting to use Kupu, if you see the message::
        !            95: 
        !            96:        Kupu not installed correctly: macro nesting limit (100) exceeded ...
        !            97: 
        !            98: it probably means that the ``make`` command was not run, or failed to
        !            99: run for some reason.
        !           100: 
        !           101: Zoom
        !           102: ~~~~
        !           103: 
        !           104: If zooming the Kupu window leaves parts of the underlying page still
        !           105: visible it is possible that some part of the page is specifying an
        !           106: explicit z-index. Try customising kupustyles.css and increasing the
        !           107: setting for z-index in::
        !           108: 
        !           109:     div.kupu-fulleditor-zoomed {
        !           110:        z-index: 1;
        !           111:        margin: 0; border: none;
        !           112:        position: fixed;
        !           113:        top: 0; left: 0;
        !           114:     }
        !           115: 
        !           116: 
        !           117: This function requires better XML support in your browser.
        !           118: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        !           119: 
        !           120: You can get this alert in Firefox and Mozilla if your Plone site has
        !           121: an incompatible copy of Sarissa installed. Check your Plone skin
        !           122: folders to see if there is a second copy of sarissa.js present and
        !           123: if so ensure that the kupu skin folders are higher priority.
        !           124: 
        !           125: Plone Configlet
        !           126: ---------------
        !           127: 
        !           128: When logged in as a Manager use the 'Plone Setup' to get to the Plone
        !           129: control panel. Kupu appears as a configurable product on the control
        !           130: panel.
        !           131: 
        !           132: You can also define a customisation policy script called
        !           133: `kupu-customisation-policy` in a skin folder. If there is a script of
        !           134: this name then it will be run automatically every time you install (or
        !           135: reinstall) kupu in your plone site. This script should use the
        !           136: kupu_library_tool to set up the configuration as you wish it for your
        !           137: site.
        !           138: 
        !           139: Creating a customisation policy script is optional, but is a simple
        !           140: way to ensure that you do not lose customised configuration settings
        !           141: when upgrading. A sample script is in the kupu_plone_layer folder.
        !           142: 
        !           143: config tab
        !           144: ==========
        !           145: 
        !           146: .. contents:: config tab
        !           147:         :depth: 1
        !           148:         :local:
        !           149:         :backlinks: top
        !           150: 
        !           151: Link options
        !           152: ~~~~~~~~~~~~
        !           153: When this is checked:
        !           154: 
        !           155:  - If you insert an image, or create an internal link to an Archetypes
        !           156:    object, then the link will indirect through Archetypes catalog. This
        !           157:    means that you can move the target object to a different location, or
        !           158:    even rename it, and the link will continue to work.
        !           159: 
        !           160:  - the URL used for the link will require an extra hit on the server,
        !           161:    and will contain the internal UID. These issues may be avoided by
        !           162:    configuring the output transform for image caption support (`see
        !           163:    below`__).
        !           164: 
        !           165: __ captioning_
        !           166: 
        !           167:  - Links to non-Archetypes objects are not affected by this option.
        !           168: 
        !           169: When this is not checked:
        !           170: 
        !           171:  - Links to all objects simply link to the current URL of the object.
        !           172: 
        !           173: Warn before losing changes
        !           174: ~~~~~~~~~~~~~~~~~~~~~~~~~~
        !           175: 
        !           176: When this is checked:
        !           177: 
        !           178:  - Kupu installs its own support to detect changes to any form
        !           179:    containing Kupu. It will warn before leaving the page if any
        !           180:    controls appear to have changed.
        !           181: 
        !           182: When this is not checked:
        !           183: 
        !           184:  - Kupu does not install its own code, but it will use the code if it
        !           185:    installed by anything else. For example, if your copy of Plone
        !           186:    includes the support by default for all main forms Kupu you might
        !           187:    turn this option off and Kupu would continue to work with the
        !           188:    default code.
        !           189: 
        !           190: Styles
        !           191: ~~~~~~
        !           192: 
        !           193: Tables
        !           194: ::::::
        !           195: Enter a list of styles to be used for tables. The classname in the CSS
        !           196: must exactly match the style displayed in the table style pulldown.
        !           197: 
        !           198: The default list of table styles is ``plain``, ``listing``, ``grid``,
        !           199: ``data``. Only ``listing`` is defined in the default Plone css, you
        !           200: should add suitable rules for the other styles to ``ploneCustom.css``.
        !           201: 
        !           202: Paragraph Styles
        !           203: ::::::::::::::::
        !           204: Enter a list of styles to be added to the style pulldown. See `Custom
        !           205: Paragraph Styles`_.
        !           206: 
        !           207: 
        !           208: HTML Filter
        !           209: ~~~~~~~~~~~
        !           210: 
        !           211: Tags & Attributes
        !           212: :::::::::::::::::
        !           213: 
        !           214: This section lists combinations of tags and attributes which are
        !           215: stripped out of documents when they are being saved. By default all
        !           216: combinations of tags and attributes which are defined for
        !           217: xhtml-transitional are permitted (except for the event attributes such
        !           218: as ``onload``). Any other combination of tags and attributes will be
        !           219: removed.
        !           220: 
        !           221: You may further restrict the permitted combination of tags and
        !           222: attributes by entering a combination to be blacklisted in the two
        !           223: textareas. If you leave the tag box blank then any attributes listed
        !           224: are blacklisted for all tags. If you leave the attribute box blank,
        !           225: then any tags entered are removed entirely. If you enter both tags and
        !           226: attributes then the attributes are removed when they occur on those
        !           227: specific tags.
        !           228: 
        !           229: To delete a filter rule remove the checkmark next to any existing line
        !           230: of tags and attributes, then save the form.
        !           231: 
        !           232: Style Whitelist
        !           233: :::::::::::::::
        !           234: 
        !           235: CSS style elements may be embedded in the style attribute, but by
        !           236: default these are all removed by filtering. Add any style elements you
        !           237: wish to have preserved to the style whitelist.
        !           238: 
        !           239: The styles ``text-align`` and ``list-style-type`` are set by Kupu, so
        !           240: if you remove them from the whitelist you should also hide the
        !           241: relevant toolbar buttons to prevent users setting styles which are
        !           242: lost on saving. 
        !           243: 
        !           244: Class Blacklist
        !           245: :::::::::::::::
        !           246: 
        !           247: This box contains a list of CSS classnames which are to be stripped
        !           248: when a document is saved. You could, for example, fill the list with
        !           249: all the styles commonly used in Microsoft Word documents (MsoNormal
        !           250: etc.) to cleanup text pasted from Word.
        !           251: 
        !           252: 
        !           253: libraries tab
        !           254: =============
        !           255: 
        !           256: This form supplies the list of libraries which form the leftmost
        !           257: column of the image and internal link drawers.
        !           258: 
        !           259: resource types tab
        !           260: ==================
        !           261: 
        !           262: While libraries provide abstract locations for objects of any type,
        !           263: Kupu distinguishes objects by resource type. For example, a user might
        !           264: request a library showing objects to link to or a library showing
        !           265: objects to be inserted into a document. The abstract location
        !           266: (library) might be the same, but the former library would contain
        !           267: documents, the latter images.
        !           268: 
        !           269: This management screen allows you to define resource types using a
        !           270: list of portal types.
        !           271: 
        !           272:    linkable
        !           273:        This entry lists all of the content types which are
        !           274:        available in the internal link drawer.
        !           275: 
        !           276:    mediaobject
        !           277:        This entry lists all of the content types which are available
        !           278:        in the image drawer.
        !           279: 
        !           280:    collection
        !           281:        This entry lists all the folder types which may be used when
        !           282:        navigating in the drawers. collection types may be navigated
        !           283:        but not selected.
        !           284: 
        !           285: documentation tab
        !           286: =================
        !           287: 
        !           288: This tab will display the file you are reading. If your Plone system
        !           289: has Portal Transforms and docutils installed the file will be
        !           290: formatted, otherwise it displays the reStructuredText source of the
        !           291: file.
        !           292: 
        !           293: Custom Paragraph styles
        !           294: -----------------------
        !           295: Paragraph styles come from 3 sources:
        !           296: 
        !           297:    a) The style ``Normal`` is always defined
        !           298: 
        !           299:    b) Use the Plone control panel to add additional styles to be
        !           300:       available on all content types. ``Heading``, ``Subheading`` and 
        !           301:       ``Formatted`` are added automatically on installation.
        !           302: 
        !           303:    c) For Archetypes content types additional styles may be defined for
        !           304:       individual fields.
        !           305: 
        !           306: Styles defined under `Paragraph Styles`_ in the control panel are in the format ``title|tag``
        !           307: or ``title|tag|class``. e.g.::
        !           308: 
        !           309:     Heading|h2
        !           310:     Subheading|h3
        !           311:     Formatted|pre
        !           312:     Pull Quote|div|pullQuote
        !           313: 
        !           314: Each rich text field can define its own set of paragraph styles to be
        !           315: made available in kupu. These are defined on the ``parastyles`` attribute
        !           316: of the ``RichWidget``. For example, a typical field definition might be::
        !           317: 
        !           318:         TextField('bodyCopy',
        !           319:             allowable_content_types=('text/html',),
        !           320:             default_output_type='text/x-html-captioned', # see below
        !           321:             required=1,
        !           322:             searchable=1,
        !           323:             widget=RichWidget
        !           324:             (description='Please paste or type your article here',
        !           325:                 label='Body Copy',
        !           326:                 parastyles=(
        !           327:                  ('div|pullQuote','Pull Quote'),
        !           328:                  ('div|Caption','Caption'),
        !           329:                  ('div|contactInformation','Contact Information'),
        !           330:                  ('div|notesToEditors','Notes to editors'),
        !           331:                 ),
        !           332:             ),
        !           333:         ),
        !           334: 
        !           335: ``parastyles`` is a sequence of style definitions. Each definition should
        !           336: be a 2-tuple of strings. The first string if either the tag to be
        !           337: added, or tag, vertical bar, class to be assigned to the tag. The
        !           338: second string is the caption that appears in the style pulldown.
        !           339: 
        !           340: Images
        !           341: ------
        !           342: 
        !           343: The image drawer contains radio buttons to select left, inline or
        !           344: right alignment on pasted images. For this to work your CSS must
        !           345: define classes ``image-left``, ``image-inline`` and ``image-right``. You
        !           346: should add these as in the example below even if you do not require
        !           347: the optional captioning support.
        !           348: 
        !           349: .. _captioning:
        !           350: 
        !           351: Optionally kupu can automatically add captions to images. To enable
        !           352: this feature you must be linking to an Archetypes based image type,
        !           353: and the field you are editing must have its ``default_output_type`` set to
        !           354: ``text/x-html-captioned`` in the Archetypes schema. If both of these
        !           355: conditions are filled, then the image drawer will include a checkbox
        !           356: for captioning an image. By default this is checked, turn it off to
        !           357: disable the caption on that image.
        !           358: 
        !           359: The caption is added when the page is viewed. All img tags for
        !           360: captioned images are replaced by an img tag in nested divs. The class
        !           361: for the img tag is moved to the enclosing div, and the current image
        !           362: description is appended in a div with class ``image-caption``. If the
        !           363: original image was in a div or paragraph by itself then the enclosing
        !           364: tag is also removed. In other words::
        !           365: 
        !           366:     <img class="image-left captioned" width="200" ... />
        !           367: 
        !           368: is replaced by::
        !           369: 
        !           370:     <div class="image-left captioned" style="width:200px;">
        !           371:       <div><img width="200" ... /></div>
        !           372:       <div class="image-caption">
        !           373:          ...description text...
        !           374:       </div>
        !           375:     </div>
        !           376: 
        !           377: You need to add some styles to your ``ploneCustom.css``. At the least, you
        !           378: should set ``div.image-caption`` appropriately, you probably also want to
        !           379: set classes for displaying images floated left, inline or right::
        !           380: 
        !           381:     div.image-caption {
        !           382:       background: #e0e0e0;
        !           383:       border: 0 none black;
        !           384:       overflow: hidden;
        !           385:     }
        !           386:     .image-left {
        !           387:        float: left;
        !           388:        clear: both;
        !           389:     }
        !           390:     .image-inline {
        !           391:        float: none;
        !           392:     }
        !           393:     .image-right {
        !           394:        float: right;
        !           395:        clear: both;
        !           396:     }
        !           397: 
        !           398: References from HTML text
        !           399: -------------------------
        !           400: Kupu can be made to store archetypes references for any HTML field.
        !           401: You can use these references for a variety of purposes, e.g. when
        !           402: publishing a document you could automatically publish all the
        !           403: contained images.
        !           404: 
        !           405: To enable this feature for a particular field, you need to  change the
        !           406: type of the field from ``TextField`` to ``ReftextField``::
        !           407: 
        !           408:     from Products.kupu.plone.ReftextField import ReftextField
        !           409: 
        !           410: then define your field as::
        !           411: 
        !           412:         Reftextfield('bodyCopy',
        !           413:             required=1,
        !           414:             searchable=1,
        !           415:             relationship='bodyCopy',
        !           416:             widget=RichWidget
        !           417:             (description='Please paste or type your article here',
        !           418:                 label='Body Copy',
        !           419:                 parastyles=(
        !           420:                  ('div|pullQuote','Pull Quote'),
        !           421:                  ('div|Caption','Caption'),
        !           422:                  ('div|contactInformation','Contact Information'),
        !           423:                  ('div|notesToEditors','Notes to editors'),
        !           424:                 ),
        !           425:             ),
        !           426:         ),
        !           427: 
        !           428: the ``ReftextField`` type is identical to the existing ``TextField``
        !           429: except that it also extracts references from the HTML text whenever
        !           430: the field is saved. The relationship used to hold the references may
        !           431: be specified as shown, but if omitted it defaults to the field name.
        !           432: 
        !           433: If the HTML contains an invalid reference, e.g. a link to an object
        !           434: that has since been deleted, ``ReftextField`` will completely ignore
        !           435: that link.
        !           436: 
        !           437: Migrating from Epoz
        !           438: -------------------
        !           439: 
        !           440: Epoz and Kupu will coexist: simply install both products. If you are
        !           441: running an old version of Epoz you should either upgrade to a more
        !           442: recent version, or ensure that the Kupu skin folders are searched
        !           443: before the Epoz ones. Then encourage all your users to select Kupu as
        !           444: their default editor from their user preferences.

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>