We apologize for untranslated text, you can use the Google Translation button to get an automatic translation of the web page in the language of your choice.

JCMS 2.1.0 release notes

JCMS 2.1.0 release notes

Categories: Documentations , JCMS 2.1
Writer : Olivier Dedieu


1. Main new features

    • WORKAREA
      • All editXXX.jsp use now doWorkHeader.jsp/doWorkFooter.jsp
      • mypublication.jsp lists all the publications of the loggedMember
      • workList.jsp lists all the publications the loggedMember can change the pstatus value
      • pubCalendar.jsp is used both to display publication and expiry calendar
      • displayWork.jsp is used to display a publication that is not in the PUBLISHED state

    • PDATE AND EDATE

      • the pdate is now really used. Once it's reached, if the publication is in the SCHEDULED state it is updated in the PUBLISHED state and pdate is removed

      • the edate is the expiry date of the publication. Once it's reached, if the publication is in the PUBLISHED state it is updated in the EXPIRED state and edate is removed NOTE: old and unused 'expirable' property of type generator is no more available

    • WORKFLOW: classes
      • Workflow
      • WFState
      • WFTransition
      • WFAction

    • GOODIES
      • Date chooser
      • Wiki preview
      • Caddy of publications / relatedList

    • TYPE GENERATOR:
      • patterns are checked

    • RIGHT: Publication have now read-access right.
      • Here are the JSP with read-access control:
        • query.jsp/queryXml.jsp
        • display.jsp/displayXml.jsp
        • mailPublication.jsp
        • doNewsletter.jsp
      • QueryTag supports read-access control if there is no dataset provided.

      • CAUTION: Custom query (using or ) must now use channel.getPublicationSet() instead of channel.getDataSet()

    • RIGHT: Group and Member have now fine-grain right (i.e. one right per publication type).

    • SEARCH: refine.jsp now supports refine with types

    • CORE: the cookie for login is now built from the request URL (instead from the channel URL).

    • CORE:
      • group have a new attribute 'cookieMaxAge' which overrides the default cookieMaxAge property (if != 0)
      • the default group cannot be removed

    • CORE: A member can belong to several groups
      • the right of the member is the union of the right of its group
      • the cookieMaxAge of the member is the greatest max-age of all its group
      • add methods in Member
        • belongsToGroup()
        • getCookieMaxAge()
        • canPublishContent()
        • invalidateCanPublishContent()
      • the default admin cannot be removed

    • CORE: Adds in Publication
      • getWFNoteSet()
      • getAuthorizedMemberSet()
      • getAuthorizedGroupSet()
      • canBeReadBy(...)
      • hasReadRight(...)
      • getPstatusComparator()
      • getRightComparator()
      • getTypeComparator()
      • getComparator support "pstatus" and "right"
      • PstatusComparator inner class
      • RightComparator inner class
      • AuthorizedSelector inner class
      • PstatusSelector inner class

    • CORE: Adds in Member and Group
      • canRead()

    • WIKI: all wiki HTML tag are CCSized (see channel.css)
    • WIKI: wiki link now supports
      • c_1234
      • Title
      • c_1234
      • Pub Title
      • pub TITLE
      • Glossary Entry Title
      • Faq Entry Title
      • My Title
    • WIKI: wiki now inserts a mailto link on email (dedieu@jalios.com)
    • WIKI: in edit.jsp display the wiki referrers.
    • WIKI: tables now support '§' delimiter for header formatting (see howToTFR.jsp)

    • TAG:
    • TAG: supports sentence truncation
    • TAG: add
      • 'ratings' attributes
      • 'pstatus' attributes
    • TAG: support 'css' attributes

    • ADMIN: Display a waiting page (restartWait.jsp) during the channel restart.

    • SECURITY: the max-age of the cookie is checked

    • WEBSERVICES: rcMember.jsp now supports 'gids' attribute to set all the groups the members belongs to. 'gid' attribute is still supported for backward compatibility.

    • MISC: ChannelInitServlet checks that the store.xml is readable and writable.

2. Main updates

    • AUTHENTICATION: display a warning message, if there is a cookie problem after a valid authentication.

    • RIGHT: forbidden access on restricted jsp are now redirected on forbidden.jsp (instead of index.jsp)

    • RIGHT: displayXml.jsp and queryXml.jsp are now restricted to the administrators

    • RIGHT: index.jsp now use channel.getPublicationSet() instead of channel.getDataSet()

    • RIGHT: in doHeader.jsp 'Work' link replace 'Publish' link is now controlled with member.canPublishContent() method

    • RIGHT: FAQ and Glossary are now managed with publication right.

    • FILE CHOOSER: the buffer of the FileUploadHandler has been increased (from 1KB -> 1MB) to improve upload speed

    • FILE CHOOSER: the filechooser works always with '/' even on Windows. Nevertheless, it is backward compatible (i.e. it handles correctly files with '\')

    • CORE: Category.OrderComparator sorts now in the right order (in previous version it sorted in the reverse order). There is no modification if you use (which reverse the comparator) otherwise use may (or remove) ReverseComparator.

    • PUBLISH: display cdate and mdate in publish forms

    • ADMIN: adminProperties: Add channel.url property. It replaces the URL of ChannelInitServlet.

    • ADMIN: types lists (e.g. displayTypeList.jsp) have 2 new column: PS (pstatus) and RR (Read Rights) and common column (title, cdate, pstatus, ...) are now sortable for custom types.

    • CORE: default properties file has been rename jcms.prop
(instead of "properties)

    • TAG: only iterates over Publication with no read right. This tag is now obsolote, prefere

    • JSP: adminChannel.jsp displays info about the WAS/JVM/OS version

    • JSP: admin pages have now an image header

    • JSP: advSeach.sp now uses the search category roots
    • JSP: new category look (search.jsp, advSearch.jsp, refine.jsp and doSelectCategories.jsp)
    • CLASSES: Category
      • No more CategoryCycleException (if a cycle is detected
return false)
      • containsDescendant is the dual of hasAncestor

3. Bugs fixed

    • bug-v2.0-31 (NullPointer when restarting)
    • bug-v2.0-32 (Bad Wiki table generation)
    • bug-v2.0-34 (Enumerate does not support " (quote char) in item list)
    • bug-v2.0-39 (The first item of a Wiki list is ignored)
    • bug-v2.0-46 (Input fields that contains quotes are trunked in the edit form)
    • bug-jcms-2.0-54 (Netscape 4.75 does not support spaces in uploaded files)
    • bug-jcms-2.0-61 (Search in category name does not work)
    • bug-jcms-2.0-62 (Unmanaged custom properties are mutated)
    • bug-jcms-2.0-63 (Wiki does not add link if the URL is at the beginning of the textarea.)
    • bug-jcms-2.0-64 (Wiki does not insert the image if its path ends the textarea.)
    • bug-jcms-2.0-65 ( does not reinitialise its break control)
    • bug-jcms-2.0-66 ('s itPosition always equals zero)
    • bug-jcms-2.0-67 (pstatus value is not correct in the editform)
    • bug-jcms-2.0-68 (display.jsp does not redirect on GlossaryEntry)
    • bug-jcms-2.0-69 ( breaks HTML tags and links)
    • bug-jcms-2.0-70 ( breaks HTML tags and links)
    • bug-jcms-2.0-71 (Category Editor's edit button does not clear extensions fields)
    • bug-jcms-2.0-72 (itLevelNextVariation is erroneous)
    • bug-jcms-2.0-73 (TypeEditor does not support carriage return in default value.)
    • bug-jcms-2.0-74 (Bad Wiki formatting with severals http links)
    • bug-jcms-2.0-75 (Channel Startup fails on a Unix server without X.)
    • bug-jcms-2.0-76 (SecureFileServlet does not support HTTPS protocol)
    • bug-jcms-2.0-77 (Restarting the channel causes memory leaks)
    • bug-jcms-2.0-78 (Util.interSet() does not support null set)
    • bug-jcms-2.0-79 (FileChooser does not support capitalized extension)
    • bug-jcms-2.0-80 (FileChooser does not support accents)
    • bug-jcms-2.0-81 (Data modifications are not stored in store.xml)
    • bug-jcms-2.0-82 (CategoryEditor move can produce cycles which throws OutOfMemoryError)
    • bug-jcms-2.0-83 (Only one storeListener per class)
    • bug-jcms-2.0-84 (jcms-2.0.1 does not run on JDK 1.2.2)
    • bug-jcms-2.0-85 (Core Type Extensions do not support list fields)
    • bug-jcms-2.0-86 (Sortbar removes some params of the URL)
    • bug-jcms-2.0-87 (PagerHandler fails with Websphere 3.5)
    • bug-jcms-2.0-88 (Core Type Extensions do not support dates)
    • bug-jcms-2.0-89 (FileChooser fails on image/file list in Core Type Extensions)
    • bug-jcms-2.0-90 (Webpage.getHost() is not updated)
    • bug-jcms-2.0-92 (Tomcat and Websphere do not handle date in form)
    • bug-jcms-2.0-93 (Wiki does not support https URL)
    • bug-jcms-2.0-94 (Wiki processes wiki tag in URL)
    • bug-jcms-2.0-95 (TypeGenerator fails if a type contains a field with the same name as the type)
    • bug-jcms-2.0-96 (Fields starting with only one lowercase char are ignored)
    • bug-jcms-2.0-97 (editProfile.jsp erases member extension fields)
    • bug-jcms-2.0-98 (signup.jsp does not include Member extension fields)

4. Known Bugs

    • bug-v2.0-18 (Support of oe ligature)
    • bug-v2.0-23 (Wiki does not support cp1252)
    • bug-v2.0-43 (TypeEditor: Cannot delete a type)
    • bug-jcms-2.0-53 (upload does not support ' (apos) char)
    • bug-jcms-2.0-91 (rcMember.jsp does not work with private channels)