[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