Commit 60fcd68c authored by Hanno Schlichting's avatar Hanno Schlichting

Merge `Products.OFSP` project back in, closes #36.

parent 3cee19a4
...@@ -21,6 +21,8 @@ Features Added ...@@ -21,6 +21,8 @@ Features Added
Restructuring Restructuring
+++++++++++++ +++++++++++++
- Merge `Products.OFSP` project back in.
- Dropped dependency declarations for indirect dependencies: - Dropped dependency declarations for indirect dependencies:
``docutils`` ``docutils``
......
...@@ -52,7 +52,6 @@ eggs = ...@@ -52,7 +52,6 @@ eggs =
five.globalrequest five.globalrequest
MultiMapping MultiMapping
Persistence Persistence
Products.OFSP
Zope2 Zope2
# RestrictedPython has an optional dependency on DateTime, make sure to run its # RestrictedPython has an optional dependency on DateTime, make sure to run its
# tests with DateTime being available # tests with DateTime being available
......
...@@ -58,7 +58,6 @@ setup( ...@@ -58,7 +58,6 @@ setup(
'MultiMapping', 'MultiMapping',
'PasteDeploy', 'PasteDeploy',
'Persistence', 'Persistence',
'Products.OFSP >= 2.13.2',
'RestrictedPython', 'RestrictedPython',
'ZConfig >= 2.9.2', 'ZConfig >= 2.9.2',
'ZODB', 'ZODB',
......
...@@ -12,7 +12,6 @@ ExtensionClass = git ${remotes:github}/ExtensionClass pushurl=${remotes:github_p ...@@ -12,7 +12,6 @@ ExtensionClass = git ${remotes:github}/ExtensionClass pushurl=${remotes:github_p
five.globalrequest = git ${remotes:github}/five.globalrequest pushurl=${remotes:github_push}/five.globalrequest five.globalrequest = git ${remotes:github}/five.globalrequest pushurl=${remotes:github_push}/five.globalrequest
MultiMapping = git ${remotes:github}/MultiMapping pushurl=${remotes:github_push}/MultiMapping MultiMapping = git ${remotes:github}/MultiMapping pushurl=${remotes:github_push}/MultiMapping
Persistence = git ${remotes:github}/Persistence pushurl=${remotes:github_push}/Persistence Persistence = git ${remotes:github}/Persistence pushurl=${remotes:github_push}/Persistence
Products.OFSP = git ${remotes:github}/Products.OFSP pushurl=${remotes:github_push}/Products.OFSP
tempstorage = git ${remotes:github}/tempstorage pushurl=${remotes:github_push}/tempstorage tempstorage = git ${remotes:github}/tempstorage pushurl=${remotes:github_push}/tempstorage
zExceptions = git ${remotes:github}/zExceptions pushurl=${remotes:github_push}/zExceptions zExceptions = git ${remotes:github}/zExceptions pushurl=${remotes:github_push}/zExceptions
zope.globalrequest = git ${remotes:github}/zope.globalrequest pushurl=${remotes:github_push}/zope.globalrequest zope.globalrequest = git ${remotes:github}/zope.globalrequest pushurl=${remotes:github_push}/zope.globalrequest
......
##############################################################################
#
# Copyright (c) 2002 Zope Foundation and Contributors.
#
# This software is subject to the provisions of the Zope Public License,
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE
#
##############################################################################
from AccessControl.class_init import InitializeClass
from AccessControl.SecurityInfo import ClassSecurityInfo
from OFS.SimpleItem import Item
from Persistence import Persistent
class Draft(Persistent, Item):
"Draft objects"
meta_type = 'Zope Draft'
security = ClassSecurityInfo()
def __init__(self, id, baseid, PATH_INFO):
self.id = id
def icon(self):
return 'p_/broken'
InitializeClass(Draft)
##############################################################################
#
# Copyright (c) 2002 Zope Foundation and Contributors.
#
# This software is subject to the provisions of the Zope Public License,
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE
#
##############################################################################
from AccessControl.class_init import InitializeClass
from AccessControl.SecurityInfo import ClassSecurityInfo
from OFS.ObjectManager import BeforeDeleteException
from OFS.SimpleItem import Item
from Persistence import Persistent
class VersionException(BeforeDeleteException):
pass
class Version(Persistent, Item):
""" """
meta_type = 'Version'
security = ClassSecurityInfo()
cookie = ''
index_html = None # Ugh.
def __init__(self, id, title, REQUEST):
self.id = id
self.title = title
def icon(self):
return 'p_/broken'
InitializeClass(Version)
##############################################################################
#
# Copyright (c) 2002 Zope Foundation and Contributors.
#
# This software is subject to the provisions of the Zope Public License,
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE
#
##############################################################################
from AccessControl.Permissions import add_documents_images_and_files
from AccessControl.Permissions import add_folders
import OFS.DTMLMethod
import OFS.DTMLDocument
import OFS.Folder
import OFS.Image
import OFS.OrderedFolder
import OFS.PropertySheets
import OFS.userfolder
def initialize(context):
context.registerClass(
OFS.DTMLMethod.DTMLMethod,
permission=add_documents_images_and_files,
constructors=(OFS.DTMLMethod.addForm, OFS.DTMLMethod.addDTMLMethod,),
legacy=(
('manage_addDocument', OFS.DTMLMethod.addDTMLMethod),
('manage_addDTMLMethod', OFS.DTMLMethod.addDTMLMethod),
)
)
context.registerClass(
OFS.DTMLDocument.DTMLDocument,
permission=add_documents_images_and_files,
constructors=(OFS.DTMLDocument.addForm,
OFS.DTMLDocument.addDTMLDocument),
legacy=(('manage_addDTMLDocument', OFS.DTMLDocument.addDTMLDocument),),
)
context.registerClass(
OFS.Image.Image,
permission=add_documents_images_and_files,
constructors=(('imageAdd', OFS.Image.manage_addImageForm),
OFS.Image.manage_addImage),
legacy=(OFS.Image.manage_addImage,),
)
context.registerClass(
OFS.Image.File,
permission=add_documents_images_and_files,
constructors=(('fileAdd', OFS.Image.manage_addFileForm),
OFS.Image.manage_addFile),
legacy=(OFS.Image.manage_addFile,),
)
context.registerClass(
OFS.Folder.Folder,
constructors=(OFS.Folder.manage_addFolderForm,
OFS.Folder.manage_addFolder),
legacy=(OFS.Folder.manage_addFolder,),
)
context.registerClass(
OFS.OrderedFolder.OrderedFolder,
permission=add_folders,
constructors=(OFS.OrderedFolder.manage_addOrderedFolderForm,
OFS.OrderedFolder.manage_addOrderedFolder),
legacy=(OFS.OrderedFolder.manage_addOrderedFolder,),
)
context.registerClass(
OFS.userfolder.UserFolder,
constructors=(OFS.userfolder.manage_addUserFolder,),
legacy=(OFS.userfolder.manage_addUserFolder,),
)
<configure xmlns="http://namespaces.zope.org/zope">
<include package="OFS" file="configure.zcml" />
</configure>
<example name="Assorted Examples">
<description>
This is a set of examples of the use of page templates.
It includes examples of batching, macros, and trees.
</description>
<payload>
<import file="zpt_examples.zexp"/>
</payload>
<view url="zpt_examples"/>
</example>
<!-- This file can contain any number of examples.
Each one consists of an <example> with a 'name' attribute,
containing exactly one <description>. The name and description
are displayed in the Examples page. <description> can have a
'format' attribute set to 'plain' (the default), 'stx' (structured
text), or 'html'.
An <example> can contain <payload> elements. Each <payload> can
contain any number of <import>, <execute>, and <call> elements.
These are processed in order when an example is selected from the
Examples page. <import> must have a 'file' attribute that names
a file in the 'examples' directory to be imported. <execute> must
have a 'file' attribute that names a file to be run with execfile.
<call> must have a 'path' attribute that gives the path to a Zope
object to be called.
An <example> can contain at most one <view> element. The 'url'
attribute of a <view> is the URL to view after all <payload> elements have
been processed. This URL can be relative to the current folder.
-->
...@@ -208,7 +208,6 @@ def _installPackage(name, quiet=0): ...@@ -208,7 +208,6 @@ def _installPackage(name, quiet=0):
else: else:
if not quiet: _print('Installing %s ... NOT FOUND\n' % name) if not quiet: _print('Installing %s ... NOT FOUND\n' % name)
installProduct('PluginIndexes', 1) # Must install first
installProduct('OFSP', 1) installProduct('OFSP', 1)
# So people can use ZopeLite.app() # So people can use ZopeLite.app()
......
...@@ -24,7 +24,6 @@ When the skeleton test is run by typing 'python testSkeleton.py', it ...@@ -24,7 +24,6 @@ When the skeleton test is run by typing 'python testSkeleton.py', it
2.1.3 patches OFS.Application to not auto-install all products 2.1.3 patches OFS.Application to not auto-install all products
2.1.4 patches App.ProductContext to not auto-install all help files 2.1.4 patches App.ProductContext to not auto-install all help files
2.1.5 starts Zope 2.1.5 starts Zope
2.1.6 installs product PluginIndexes
2.1.7 installs product OFSP 2.1.7 installs product OFSP
2.2 imports module Testing.ZopeTestCase.ZopeTestCase 2.2 imports module Testing.ZopeTestCase.ZopeTestCase
......
...@@ -19,7 +19,6 @@ persistent = 4.2.1 ...@@ -19,7 +19,6 @@ persistent = 4.2.1
Products.BTreeFolder2 = 3.0 Products.BTreeFolder2 = 3.0
Products.ExternalMethod = 3.0 Products.ExternalMethod = 3.0
Products.MailHost = 3.0 Products.MailHost = 3.0
Products.OFSP = 3.0
Products.PythonScripts = 3.0 Products.PythonScripts = 3.0
Products.SiteErrorLog = 4.0 Products.SiteErrorLog = 4.0
Products.StandardCacheManagers = 3.0 Products.StandardCacheManagers = 3.0
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment