We need to remove code from the core that will impact code in MMObjectBuilder and ProcessorModule. We cannot guarantee backward compatibility for those who have custom modules or builders. However, we hope to mimimize the changes needed to existing code.
The following classes will be moved to the scan application:
org
`- mmbase
|-- module
| |-- CALC.java
| |-- INFO.java
| |-- MMUsers.java
| |-- ParseException.java
| |-- TransactionHandler.java
| |-- TransactionHandlerException.java
| |-- Upload.java
| |-- builders
| | |-- AuthRel.java
| | |-- Cookies.java
| | |-- NetFileSrv.java
| | |-- Netfiles.java
| | |-- People.java
| | |-- Users.java
| | `-- vwms
| | |-- FileCopier.java
| | |-- ImageMaster.java
| | |-- ImagePusher.java
| | |-- PageMaster.java
| | |-- SCPcopy.java
| | `-- UnixCopy.java
| |-- gui
| | |-- flash
| | | |-- MMFlash.java
| | | `-- XMLDynamicFlashReader.java
| | `-- html
| | |-- CircularParseException.java
| | |-- CommandHandlerInterface.java
| | |-- CounterInterface.java
| | |-- EditState.java ***
| | |-- EditStateNode.java
| | |-- FieldEditor.java
| | |-- FieldSelector.java
| | |-- HtmlBase.java
| | |-- MMEdit.java
| | |-- MMLanguage.java
| | |-- MultiLevelParseException.java
| | |-- MultilevelCacheEntry.java
| | |-- MultilevelCacheHandler.java
| | |-- MultilevelSubscribeNode.java
| | |-- ObjectSelector.java
| | |-- PageProcess.java
| | |-- StateManager.java
| | `-- scanparser.java
| |-- scancache.java
| |-- scancacheInterface.java
| |-- sessionInfo.java
| |-- sessions.java
| `-- sessionsInterface.java
|-- servlet
| |-- JamesServlet.java
| |-- SimpleFormToMailServlet.java
| |-- servdb.java
| |-- servflash.java
| |-- servjumpers.java
| `-- servscan.java
`-- util
|-- AuthorizationException.java
|-- DirectoryLister.java
|-- FileCompare.java
|-- HTMLElement.java
|-- HTMLElementCheckBox.java
|-- HTMLElementPassword.java
|-- HTMLElementRadio.java
|-- HTMLElementSelect.java
|-- HTMLElementText.java
|-- HTMLElementTextArea.java
|-- HTMLFormGenerator.java
|-- HttpAuth.java
|-- HttpPost.java
|-- NotLoggedInException.java
|-- PageCRCException.java
|-- PostValueToLargeException.java
|-- RandomPlus.java
|-- RandomThings.java
|-- XFile.java
|-- XFileCompare.java
|-- XMLMMLanguageReader.java
|-- fileInfo.java
`-- scanpage.java ***In additon, the following changes need to be made:
- HttpPost is moved to the SCAN application. Taglibs will need to use the jakarta commons Upload.
- HttpAuth is moved, and references to it in MMBase or MMAdmin will be removed.
- The process() method in the Attachments builder will be removed.
- The functionality of the (core) Email buidler to parse SCAN pages and mail the results will be removed
- The Casting class no longer uses MMLanguage module to parse boolean values
- Since TransactionHandler is no longer core, XMLEntityResolver no longer automatically registers its dtd.
TransactionHandlerInterface cannot be moved as it is used by xmlimporter. It's interafce nee dbe adapted so it now
accepts a string (i.e. cookie) instead of sessionInfo object, and a PageContext instead of a scanpage.
This needs a few changes in xmlimporter TransactionHandler and in scanparser.
- Upload module depends on scanpage and HttpPost and need be moved to the scan application.
Xmlimporter has code that depends on Upload, which needs be changed.
- Communityprc returns process data (of i.e. a post) in a scanpage session. Thsi functionality needs to be removed.
The moving of the classes, as well as the above changes, will be subject of a vote.
Changes to applications have not been concidered yet.
There are also two separate changes regarding the move of the scanpage and EditState classes. These will require a separate vote.
In cases these votes fail, we will seek a different solution (for these two classes only).
- scanpage is replaced in the core by org.mmbase.util.PageContext.
This small container class acts as a wrapper for HttpServletRequest and HttpServletResponse.
The scanpage class will extend PageContext and be passed by SCAN, so that old scan classes can still its the functionality.
All getList(), replace(), and process() methods in MMObjectBuilder or Module classes need to be adapted.
In most cases only the parameter types will need to be changed. getList() no longer throws ParseException, so the throws clause should also be removed.
This requires a separate vote.
- EditState is used in the preEdit() and insertDone() methods of MMObjectBuilder and MMObjectNode.
These methods will be removed, and will no longer be called from the SCAN FieldEditor class.
This requires a separate vote.
A diff file with all changes is available for download from the project page.
-- Pierre van Rooden Mediapark, C 107 tel. +31 (0)35 6772815 "Never summon anything bigger than your head."
