Re: Gnome Plone Migration Update



Murray Cumming wrote:
What is the gnome_slots portlet?


In the current version from svn when I try installing the theme I get the following error, with full traceback:


2008-03-04 12:41:12 ERROR Zope.SiteErrorLog http://localhost:8080/wgo/prefs_install_products_form
Traceback (innermost last):
 Module ZPublisher.Publish, line 119, in publish
 Module ZPublisher.mapply, line 88, in mapply
 Module ZPublisher.Publish, line 42, in call_object
 Module Shared.DC.Scripts.Bindings, line 313, in __call__
 Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec
 Module Products.CMFCore.FSPageTemplate, line 216, in _exec
 Module Products.CMFCore.FSPageTemplate, line 155, in pt_render
 Module Products.PageTemplates.PageTemplate, line 89, in pt_render
 Module zope.pagetemplate.pagetemplate, line 117, in pt_render
  - Warning: Macro expansion failed
  - Warning: exceptions.KeyError: 'scripts'
 Module zope.tal.talinterpreter, line 271, in __call__
 Module zope.tal.talinterpreter, line 346, in interpret
 Module zope.tal.talinterpreter, line 891, in do_useMacro
 Module zope.tal.talinterpreter, line 346, in interpret
 Module zope.tal.talinterpreter, line 536, in do_optTag_tal
 Module zope.tal.talinterpreter, line 521, in do_optTag
 Module zope.tal.talinterpreter, line 516, in no_tag
 Module zope.tal.talinterpreter, line 346, in interpret
 Module zope.tal.talinterpreter, line 891, in do_useMacro
 Module zope.tal.talinterpreter, line 346, in interpret
 Module zope.tal.talinterpreter, line 536, in do_optTag_tal
 Module zope.tal.talinterpreter, line 521, in do_optTag
 Module zope.tal.talinterpreter, line 516, in no_tag
 Module zope.tal.talinterpreter, line 346, in interpret
 Module zope.tal.talinterpreter, line 957, in do_defineSlot
 Module zope.tal.talinterpreter, line 346, in interpret
 Module zope.tal.talinterpreter, line 854, in do_condition
 Module Products.PageTemplates.Expressions, line 211, in evaluateBoolean
 Module zope.tales.tales, line 696, in evaluate
- URL: file:/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/src/gnome.theme/gnome/theme/skins/gnome_theme_custom_templates/main_template.pt
  - Line 125, Column 8
  - Expression: <PathExpr standard:u'here/gnome_slots'>
  - Names:
     {'container': <PloneSite at /wgo>,
      'context': <PloneSite at /wgo>,
      'default': <object object at 0xb7d70540>,
      'here': <PloneSite at /wgo>,
      'loop': {},
      'nothing': None,
      'options': {'args': ()},
'repeat': <Products.PageTemplates.Expressions.SafeMapping object at 0xd87062c>, 'request': <HTTPRequest, URL=http://localhost:8080/wgo/prefs_install_products_form>,
      'root': <Application at >,
      'template': <FSPageTemplate at /wgo/prefs_install_products_form>,
      'traverse_subpath': [],
      'user': <PropertiedUser 'admin'>}
 Module zope.tales.expressions, line 217, in __call__
 Module Products.PageTemplates.Expressions, line 153, in _eval
 Module zope.tales.expressions, line 124, in _eval
Module Products.PageTemplates.Expressions, line 80, in boboAwareZopeTraverse
 Module OFS.Traversable, line 301, in restrictedTraverse
 Module OFS.Traversable, line 284, in unrestrictedTraverse
  - __traceback_info__: ([], 'gnome_slots')
KeyError: 'gnome_slots'
2008-03-04 12:41:12 ERROR root Exception while rendering an error message
Traceback (most recent call last):
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/OFS/SimpleItem.py", line 227, in raise_standardErrorMessage
   v = s(**kwargs)
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/plone/CMFCore/FSPythonScript.py", line 140, in __call__
   return Script.__call__(self, *args, **kw)
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/Shared/DC/Scripts/Bindings.py", line 313, in __call__
   return self._bindAndExec(args, kw, None)
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/Shared/DC/Scripts/Bindings.py", line 350, in _bindAndExec
   return self._exec(bound_data, args, kw)
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/plone/CMFCore/FSPythonScript.py", line 196, in _exec
   result = f(*args, **kw)
 File "Script (Python)", line 34, in standard_error_message
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/Shared/DC/Scripts/Bindings.py", line 313, in __call__
   return self._bindAndExec(args, kw, None)
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/Shared/DC/Scripts/Bindings.py", line 350, in _bindAndExec
   return self._exec(bound_data, args, kw)
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/plone/CMFCore/FSPageTemplate.py", line 216, in _exec
   result = self.pt_render(extra_context=bound_names)
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/plone/CMFCore/FSPageTemplate.py", line 155, in pt_render
   result = FSPageTemplate.inheritedAttribute('pt_render')(
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/Products/PageTemplates/PageTemplate.py", line 89, in pt_render
   return super(PageTemplate, self).pt_render(c, source=source)
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/zope/pagetemplate/pagetemplate.py", line 117, in pt_render
   strictinsert=0, sourceAnnotations=sourceAnnotations)()
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/zope/tal/talinterpreter.py", line 271, in __call__
   self.interpret(self.program)
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/zope/tal/talinterpreter.py", line 346, in interpret
   handlers[opcode](self, args)
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/zope/tal/talinterpreter.py", line 891, in do_useMacro
   self.interpret(macro)
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/zope/tal/talinterpreter.py", line 346, in interpret
   handlers[opcode](self, args)
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/zope/tal/talinterpreter.py", line 536, in do_optTag_tal
   self.do_optTag(stuff)
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/zope/tal/talinterpreter.py", line 521, in do_optTag
   return self.no_tag(start, program)
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/zope/tal/talinterpreter.py", line 516, in no_tag
   self.interpret(program)
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/zope/tal/talinterpreter.py", line 346, in interpret
   handlers[opcode](self, args)
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/zope/tal/talinterpreter.py", line 957, in do_defineSlot
   self.interpret(block)
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/zope/tal/talinterpreter.py", line 346, in interpret
   handlers[opcode](self, args)
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/zope/tal/talinterpreter.py", line 854, in do_condition
   if not self.tal or self.engine.evaluateBoolean(condition):
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/Products/PageTemplates/Expressions.py", line 211, in evaluateBoolean
   value = self.evaluate(expr)
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/zope/tales/tales.py", line 696, in evaluate
   return expression(self)
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/zope/tales/expressions.py", line 217, in __call__
   return self._eval(econtext)
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/Products/PageTemplates/Expressions.py", line 153, in _eval
   ob = self._subexprs[-1](econtext)
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/zope/tales/expressions.py", line 124, in _eval
   ob = self._traverser(ob, element, econtext)
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/Products/PageTemplates/Expressions.py", line 80, in boboAwareZopeTraverse
   object = object.restrictedTraverse(name)
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/OFS/Traversable.py", line 301, in restrictedTraverse
   return self.unrestrictedTraverse(path, default, restricted=True)
File "/home/jaime/Projects/gnome-web/gnomeweb-plone/wgo.buildout/parts/zope2/lib/python/OFS/Traversable.py", line 284, in unrestrictedTraverse
   raise e
KeyError: 'gnome_slots'


This refers to the information in the template gnomeweb-plone/wgo.buildout/src/gnome.theme/gnome/theme/skins/gnome_theme_custom_templates/main_template.pt Line 125. I tried installing the theme without it - it will install but is a very ugly/basic theme, nothing like the screenshots.
Here is the offending gnome_slots section
       <div id="sidebar"
         metal:define-slot="column_gnome_slots"
         tal:condition="here/gnome_slots">
         <metal:portlets define-slot="portlets_gnome_slots">
<metal:gnomeportlets use-macro="here/gnome_slots_column/macros/slots"> This instruction gets the portlets (boxes) for the column aside the content region.
         </metal:gnomeportlets>
         </metal:portlets>
       </div>


I've had a quick look around and I notice in gnome.theme/gnome/theme/config.py, the gnome slots portlets are defined

GNOMESLOTS = (
   'here/portlet_gnome_sidenav/macros/portlet',
   'here/portlet_review/macros/portlet',
   'here/portlet_gnome_example/macros/portlet',
   'here/portlet_calendar/macros/portlet',
   'here/portlet_events/macros/portlet',
   'here/portlet_recent/macros/portlet',
   )

and the template for the slots is:
gnomeweb-plone/wgo.buildout/src/gnome.theme/gnome/theme/skins/gnome_theme_templates/gnome_slots_column.pt


I'm gonna create some patches if not tomorrow/wed and send in the stuff
I have now. It's a restructure of the entire theme; so in the meantime
incase anyone else wants to finish that bit (when I say portlet I'm
talking about the theming around the data smack dab in the middle). It
shouldn't be that hard.. but getting the view correct will be the
standard tedious test and refresh.
I'll be interested to try out your patches and see if I can continue on getting it to look like the screenshots while you're away.

Jaime.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]