[Checkins] SVN: grokui.base/trunk/ Cleaned to limit to the strict minimal UI components.
Souheil CHELFOUH
souheil at chelfouh.com
Mon Jan 25 04:46:01 EST 2010
Log message for revision 108462:
Cleaned to limit to the strict minimal UI components.
Need to fix the dependencies. zope.app.* packages have been removed.
Changed:
U grokui.base/trunk/buildout.cfg
U grokui.base/trunk/setup.py
U grokui.base/trunk/src/grokui/base/__init__.py
U grokui.base/trunk/src/grokui/base/contentproviders.py
U grokui.base/trunk/src/grokui/base/ftesting.zcml
U grokui.base/trunk/src/grokui/base/interfaces.py
U grokui.base/trunk/src/grokui/base/layout.py
U grokui.base/trunk/src/grokui/base/messages.py
U grokui.base/trunk/src/grokui/base/namespace.py
U grokui.base/trunk/src/grokui/base/tests/layout.py
U grokui.base/trunk/src/grokui/base/viewlets.py
-=-
Modified: grokui.base/trunk/buildout.cfg
===================================================================
--- grokui.base/trunk/buildout.cfg 2010-01-25 09:37:36 UTC (rev 108461)
+++ grokui.base/trunk/buildout.cfg 2010-01-25 09:46:01 UTC (rev 108462)
@@ -1,8 +1,7 @@
[buildout]
develop = .
parts = test data zopectl app
-# Test also with other configs...
-extends = http://grok.zope.org/releaseinfo/grok-1.0b2.cfg
+extends = http://svn.zope.org/repos/main/groktoolkit/trunk/grok.cfg
versions = versions
[data]
@@ -37,12 +36,9 @@
password="grok"
/>
- <!-- Replace the following directive if you don't want
- public access -->
<grant permission="zope.View"
principal="zope.Anybody" />
- <!-- grant permission="grok.View"
- principal="zope.Anybody" / -->
+
<grant permission="zope.app.dublincore.view"
principal="zope.Anybody" />
Modified: grokui.base/trunk/setup.py
===================================================================
--- grokui.base/trunk/setup.py 2010-01-25 09:37:36 UTC (rev 108461)
+++ grokui.base/trunk/setup.py 2010-01-25 09:46:01 UTC (rev 108462)
@@ -47,11 +47,6 @@
'megrok.menu',
'martian',
'z3c.flashmessage',
- 'zope.app.applicationcontrol',
- 'zope.app.appsetup',
- 'zope.app.folder',
- 'zope.app.preference',
- 'zope.app.security',
'zope.app.testing',
'zope.component',
'zope.exceptions',
@@ -60,6 +55,7 @@
'zope.security',
'zope.testbrowser',
'zope.testing',
+ 'zope.site',
],
tests_require = tests_require,
extras_require = dict(test=tests_require),
Modified: grokui.base/trunk/src/grokui/base/__init__.py
===================================================================
--- grokui.base/trunk/src/grokui/base/__init__.py 2010-01-25 09:37:36 UTC (rev 108461)
+++ grokui.base/trunk/src/grokui/base/__init__.py 2010-01-25 09:46:01 UTC (rev 108462)
@@ -1,2 +1,4 @@
-from grokui.base.namespace import GrokUILayer, GrokUISkin, IGrokuiRealm
-from grokui.base.layout import AdminView
+from grokui.base.interfaces import IGrokUIRealm, IUIPanel, IMainMenu
+from grokui.base.namespace import GrokUILayer, GrokUISkin
+from grokui.base.contentproviders import Header, Footer, MainMenu
+from grokui.base.layout import GrokUIView
Modified: grokui.base/trunk/src/grokui/base/contentproviders.py
===================================================================
--- grokui.base/trunk/src/grokui/base/contentproviders.py 2010-01-25 09:37:36 UTC (rev 108461)
+++ grokui.base/trunk/src/grokui/base/contentproviders.py 2010-01-25 09:46:01 UTC (rev 108462)
@@ -1,28 +1,22 @@
# -*- coding: utf-8 -*-
-import grok
+import grokcore.viewlet as grok
from megrok.menu import Menu
-from grokui.base import IGrokuiRealm
-from grokui.base.interfaces import IApplicationRepresentation
-from grokui.base.interfaces import IApplicationInformation
+from grokui.base import IGrokUIRealm, GrokUILayer
-class AdministrationHeader(grok.ViewletManager):
- grok.name('grokui_admin_header')
- grok.context(IGrokuiRealm)
+grok.layer(GrokUILayer)
+grok.context(IGrokUIRealm)
-class AdministrationFooter(grok.ViewletManager):
- grok.name('grokui_admin_footer')
- grok.context(IGrokuiRealm)
+class Header(grok.ViewletManager):
+ grok.name('grokui_header')
-class ApplicationInformation(grok.ViewletManager):
- grok.name('grokui_application_info')
- grok.context(IApplicationRepresentation)
+class Footer(grok.ViewletManager):
+ grok.name('grokui_footer')
-class AdministrationMenu(Menu):
- grok.context(IGrokuiRealm)
- grok.name('grokui_admin_menu')
- grok.title('Administration panels')
+class MainMenu(Menu):
+ grok.name('grokui_mainmenu')
+ grok.title('Grok user interface panels')
Modified: grokui.base/trunk/src/grokui/base/ftesting.zcml
===================================================================
--- grokui.base/trunk/src/grokui/base/ftesting.zcml 2010-01-25 09:37:36 UTC (rev 108461)
+++ grokui.base/trunk/src/grokui/base/ftesting.zcml 2010-01-25 09:46:01 UTC (rev 108462)
@@ -2,8 +2,7 @@
xmlns="http://namespaces.zope.org/zope"
xmlns:grok="http://namespaces.zope.org/grok"
i18n_domain="grok"
- package="grokui.base"
- >
+ package="grokui.base">
<include package="grokui.base" />
<grok:grok package="grokui.base.tests" />
Modified: grokui.base/trunk/src/grokui/base/interfaces.py
===================================================================
--- grokui.base/trunk/src/grokui/base/interfaces.py 2010-01-25 09:37:36 UTC (rev 108461)
+++ grokui.base/trunk/src/grokui/base/interfaces.py 2010-01-25 09:46:01 UTC (rev 108462)
@@ -1,55 +1,21 @@
# -*- coding: utf-8 -*-
-from zope import schema
-from zope.location import ILocation
-from zope.interface import Interface
-from zope.contentprovider.interfaces import IContentProvider
+from zope.interface import Interface, Attribute
-class IAdminPanelMenu(Interface):
- """A menu that allows the access to the different administration panels.
+class IMainMenu(Interface):
+ """A menu that allows the access to the different UI panels.
"""
-class IAdminPanel(Interface):
+class IUIPanel(Interface):
"""A panel of administration.
"""
-class IApplicationRepresentation(Interface):
- """Defines an Grok application
+class IGrokUIRealm(Interface):
+ """Represents an abstract object that acts as the UI namespace.
+ It provides an access to the very root folder and to the request.
"""
- __name__ = schema.ASCIILine(
- title = u"Name",
- required = True
- )
-
- classname = schema.ASCIILine(
- title = u"Dotted name of the Application class",
- required = True
- )
-
- description = schema.Text(
- title = u"Description of the Application",
- default = u"",
- required = False
- )
-
-
-class IInstallableApplication(IApplicationRepresentation):
- """Defines an installable application.
- """
-
-
-class IInstalledApplication(IApplicationRepresentation, ILocation):
- """Defines an application that is installed in our system.
- """
- url = schema.URI(
- title = u"Absolute URL of the application",
- required = True
- )
-
-
-class IApplicationInformation(IContentProvider):
- """Marker interface for the Application information content provider.
- """
+ root = Attribute("The root folder object.")
+ request = Attribute("The HTTP request object.")
Modified: grokui.base/trunk/src/grokui/base/layout.py
===================================================================
--- grokui.base/trunk/src/grokui/base/layout.py 2010-01-25 09:37:36 UTC (rev 108461)
+++ grokui.base/trunk/src/grokui/base/layout.py 2010-01-25 09:46:01 UTC (rev 108462)
@@ -1,31 +1,26 @@
# -*- coding: utf-8 -*-
-import grok
import megrok.menu
+import grokcore.view as grok
from megrok.layout import Layout, Page
-from grokui.base import IGrokuiRealm
-from grokui.base.namespace import GrokUILayer
-from grokui.base.interfaces import IAdminPanel
-from zope.app.folder.interfaces import IRootFolder
-from zope.traversing.browser.absoluteurl import absoluteURL
+from grokui.base import IGrokUIRealm, GrokUILayer, IUIPanel, MainMenu
grok.layer(GrokUILayer)
grok.templatedir("templates")
-class AdminLayout(Layout):
+class GrokUILayout(Layout):
"""The general layout for the administration
"""
- grok.context(IGrokuiRealm)
- title = u"Grok Administration Interface"
+ grok.context(IGrokUIRealm)
+ title = u"Grok User Interface"
-class AdminView(Page):
- """An admin view.
+class GrokUIView(Page):
+ """A grok ui view.
"""
grok.baseclass()
- grok.context(IGrokuiRealm)
- grok.implements(IAdminPanel)
- megrok.menu.menuitem('grokui_admin_menu')
-
+ grok.context(IGrokUIRealm)
+ grok.implements(IUIPanel)
+ megrok.menu.menuitem(MainMenu)
Modified: grokui.base/trunk/src/grokui/base/messages.py
===================================================================
--- grokui.base/trunk/src/grokui/base/messages.py 2010-01-25 09:37:36 UTC (rev 108461)
+++ grokui.base/trunk/src/grokui/base/messages.py 2010-01-25 09:46:01 UTC (rev 108462)
@@ -1,13 +1,10 @@
# -*- coding: utf-8 -*-
-import grok
-
-from zope.interface import Interface
-from zope.component import getUtility
+import grokcore.component as grok
from z3c.flashmessage.message import PersistentMessage
from z3c.flashmessage.sources import SessionMessageSource
from z3c.flashmessage.receiver import GlobalMessageReceiver
-from z3c.flashmessage.interfaces import IMessageReceiver, IMessageSource
+from z3c.flashmessage.interfaces import IMessageSource
class AdminMessageSource(grok.GlobalUtility):
@@ -36,4 +33,3 @@
grok.global_utility(GlobalMessageReceiver)
grok.global_utility(SessionMessageSource, name='session')
-
Modified: grokui.base/trunk/src/grokui/base/namespace.py
===================================================================
--- grokui.base/trunk/src/grokui/base/namespace.py 2010-01-25 09:37:36 UTC (rev 108461)
+++ grokui.base/trunk/src/grokui/base/namespace.py 2010-01-25 09:46:01 UTC (rev 108462)
@@ -1,15 +1,15 @@
# -*- coding: utf-8 -*-
-"""Components to keep Grok UI releated stuff in a dedicated namespace.
+"""Components to keep Grok UI related stuff in a dedicated namespace.
"""
-import grok
-
-from zope.interface import Interface
+import grokcore.view as grok
+from zope.site.interfaces import IRootFolder
+from zope.location import LocationProxy
from zope.publisher.browser import applySkin
from zope.publisher.interfaces import browser
-from zope.app.folder.interfaces import IRootFolder
from zope.traversing.interfaces import ITraversable
-from zope.location import LocationProxy
+from grokui.base.interfaces import IGrokUIRealm
+
class GrokUILayer(grok.IDefaultBrowserLayer):
"""A basic layer for all Grok UI components.
"""
@@ -22,15 +22,10 @@
grok.skin('GrokUISkin')
-class IGrokuiRealm(Interface):
- def getRoot(self):
- """returns the root folder"""
-
-
class GrokUINamespace(grok.MultiAdapter):
grok.name('grokui')
grok.provides(ITraversable)
- grok.implements(IGrokuiRealm)
+ grok.implements(IGrokUIRealm)
grok.adapts(IRootFolder, browser.IBrowserRequest)
def __init__(self, context, request):
Modified: grokui.base/trunk/src/grokui/base/tests/layout.py
===================================================================
--- grokui.base/trunk/src/grokui/base/tests/layout.py 2010-01-25 09:37:36 UTC (rev 108461)
+++ grokui.base/trunk/src/grokui/base/tests/layout.py 2010-01-25 09:46:01 UTC (rev 108462)
@@ -1,6 +1,6 @@
"""
-Building admin pages using `AdminView`
-======================================
+Building panels using `GrokUIView`
+===================================
:doctest:
:layer: grokui.base.tests.test_grokuibase.FunctionalLayer
@@ -26,7 +26,7 @@
>>> print browser.contents
<html xmlns="http://www.w3.org/1999/xhtml">
...
- <title>Grok Administration Interface</title>
+ <title>Grok User Interface</title>
...
<BLANKLINE>
<div id="grokui-content">Hello from CaveAdminView</div>
@@ -51,9 +51,9 @@
"""
import grok
-from grokui.base import AdminView
+from grokui.base import GrokUIView
-class CaveAdminView(AdminView):
+class CaveAdminView(GrokUIView):
"""An admin page to administer caves.
"""
grok.name('caveview')
Modified: grokui.base/trunk/src/grokui/base/viewlets.py
===================================================================
--- grokui.base/trunk/src/grokui/base/viewlets.py 2010-01-25 09:37:36 UTC (rev 108461)
+++ grokui.base/trunk/src/grokui/base/viewlets.py 2010-01-25 09:46:01 UTC (rev 108462)
@@ -1,23 +1,19 @@
# -*- coding: utf-8 -*-
import grok
-from zope.component import getUtility
-from zope.app.folder.interfaces import IRootFolder
-from zope.app.publisher.interfaces.browser import IBrowserMenu
-from zope.app.security.interfaces import IUnauthenticatedPrincipal
+from grokui.base import Header, Footer, IUIPanel, IGrokUIRealm, MainMenu
from z3c.flashmessage.interfaces import IMessageReceiver
-from grokui.base import IGrokuiRealm
-from grokui.base.interfaces import IAdminPanel
-from grokui.base.contentproviders import AdministrationHeader
-from grokui.base.contentproviders import AdministrationFooter
+from zope.browsermenu.interfaces import IBrowserMenu
+from zope.authentication.interfaces import IUnauthenticatedPrincipal
+from zope.component import getUtility
+
+grok.view(IUIPanel)
+grok.context(IGrokUIRealm)
grok.templatedir("templates")
+grok.viewletmanager(Header)
-grok.view(IAdminPanel)
-grok.context(IGrokuiRealm)
-grok.viewletmanager(AdministrationHeader)
-
class Banner(grok.Viewlet):
grok.order(10)
grok.name('grokui.banner')
@@ -39,7 +35,7 @@
grok.name("grokui.menu")
def update(self):
- menu = getUtility(IBrowserMenu, 'grokui_admin_menu')
+ menu = getUtility(IBrowserMenu, "grokui_mainmenu")
self.rooturl = self.view.url(self.context)
self.actions = menu.getMenuItems(self.context, self.request)
@@ -57,4 +53,4 @@
class Authors(grok.Viewlet):
grok.order(10)
grok.name('grokui.authors')
- grok.viewletmanager(AdministrationFooter)
+ grok.viewletmanager(Footer)
More information about the checkins
mailing list