Re: do we need plone.app.customerize ? was: [Plone-Users] Insufficient privileges on folder _contents
Jamie Lentin <jm-Pj/[email protected]>
| Newsgroups | gmane.comp.web.zope.plone.devel |
|---|---|
| Message-ID | <[email protected]> |
On 2013-12-10 6:27, Dylan Jay wrote: > On 10 Dec 2013, at 4:44 pm, Nathan Van Gheem <[email protected]> > wrote: > >> >> >> >> On Mon, Dec 9, 2013 at 11:40 PM, Dylan Jay <djay-n0pU0XVUApFWk0Htik3J/[email protected]> wrote: >> On 10 Dec 2013, at 4:34 pm, Nathan Van Gheem <[email protected]> >> wrote: >> >> > Playing with the idea of TTW jbot: https://github.com/collective/collective.jbot >> > >> > This approach isn't "safe." It actually creates temp files for each template customization so templates aren't run in restricted python. >> > >> > I think this could hit most people's use-cases though. >> >> There already exists a package to do this which includes something >> like jbot. >> >> https://pypi.python.org/pypi/plone.app.themingplugins >> AFAIK, this does not work TTW. It's only for themes that are also >> python packages. > > Sorry you are right. > I do think plone.app.theming is the right place for doing new or > replacing existing views however. > > I know it's a long thread but I think it's well worth reading the > discussion of some ideas on how to achieve this between optilude and > me. > > http://markmail.org/message/q52lv4pyh4zn3cdd#query:+page:1+mid:6oqjgbip6pfh2c7m+state:results > > This simple summary is that you can create something like tiles > (either via TAL and/or by using some kind of builder UI) which you can > than pull into your diazo theme under certain conditions and transform > the html if you need to. So any given page of a site could then be > made up of theme + content page + one or more tiles (which aren't > visible when viewing the unthemed content page). > For example to add last updated time to the bottom of every page. > - Instead of hacking the page template or main templated, you would > instead create a last updated tile and then write a diazo rule to > merges that into the final rendered page. +1 - I've tried restricting myself to doing a site theme within a zip file before, and being able to include per-type themes in the zip file would have been incredibly handy, verging on essential. So something like:- site.theme/views/Folder/my_magical_listing.pt Registering a @@my_magical_listing for Folder portal types. They're part of the theme, so definitely a job for plone.app.theming. As you say no need to be able to override views, since you can do any overriding within Diazo. It's mostly about making sure the data is there for Diazo to chew on. I thought plone.app.themingplugins was going to save me but apparently only works with a theme on the filesystem (not necessarily it's own package IIRC). If it works for zip files then I guess it'd also be TTW using the ACE editor. Not convinced a builder UI is worth it, versus copy-and-pastable examples on developer.plone.org / stackoverflow you can then tweak. >> However I think that encouraging overriding inbuilt templates isn't a >> good idea. Mostly what people want to do is change just one or two >> parts of the template. Overriding the template this is reasonably easy >> but creates a big mess when you try and upgrade your site since >> plone's innards could have changed including templates. >> I think a simple quick way for users to create new views would be >> safer. >> >> > >> > Thoughts? >> > >> > >> > -Nathan >> > >> > >> > On Thu, Dec 5, 2013 at 12:41 PM, David Glick (Plone) <david.glick-z4DKO/[email protected]> wrote: >> > On 12/5/13, 6:24 AM, Nathan Van Gheem wrote: >> > I think many problems can probably be solved with diazo these days and yes, customerize doesn't not consistently work. >> > >> > That being said, we do need a customization story for non-devs. >> > >> > How feasible would it be to make a TTW jbot? >> > >> > Shouldn't be too hard. z3c.jbot already has the right hooks to look for a template's source "somewhere else" when a template is rendered. We would just need to add to the possible "somewhere else" locations, by configuring it with a set of ZODB paths to search for templates. >> > >> > This only takes care of overriding existing templates though. In a world without portal_skins and Acquisition, to add new templates we would need a way to register new views TTW (stored in the persistent component registry). There's no technical reason that can't be done, but no one has built it yet. >> > >> > And even for the use case of overriding templates, security is a caveat. Part of the problem with portal_view_customizations is that it takes a template which was running as filesystem code (i.e. unrestricted) and, once customized, runs it as restricted Python. That tends to lead to authorization errors once things are customized if the template was/is using things that aren't allowed in restricted code. For some sites (i.e. most standalone sites) it would be fine to allow unrestricted execution of TTW-edited code as long as only Managers are allowed to edit that code. But for shared hosting (multiple Plone sites for different clients in one Zope instance) that's not very safe. I'm not sure how to solve this for those sites, short of maybe doing automated testing of all templates to m ake sure they still execute successfully as restricted Python. >> > >> > >> > >> > -- >> > Nathan Van Gheem >> > Solutions Architect >> > Wildcard Corp >> > ------------------------------------------------------------------------------ >> > Sponsored by Intel(R) XDK >> > Develop, test and display web and hybrid apps with a single code base. >> > Download it for free now! >> > http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk_______________________________________________ >> > Plone-developers mailing list >> > Plone-developers-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org >> > https://lists.sourceforge.net/lists/listinfo/plone-developers >> >> >> >> >> -- >> Nathan Van Gheem >> Solutions Architect >> Wildcard Corp > > > ------------------------------------------------------------------------------ > Sponsored by Intel(R) XDK > Develop, test and display web and hybrid apps with a single code base. > Download it for free now! > http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk > _______________________________________________ > Plone-developers mailing list > Plone-developers-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org > https://lists.sourceforge.net/lists/listinfo/plone-developers ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk