<?xml version="1.0" encoding="utf-8" ?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns="http://purl.org/rss/1.0/">




    



<channel rdf:about="http://valentinewebsystems.se/tags/RSS">
  <title>tags</title>
  <link>http://valentinewebsystems.se</link>

  <description>
    
      
    
  </description>

  

  
            <syn:updatePeriod>daily</syn:updatePeriod>
            <syn:updateFrequency>1</syn:updateFrequency>
            <syn:updateBase>2007-07-18T20:45:07Z</syn:updateBase>
        

  <image rdf:resource="http://valentinewebsystems.se/logo.png"/>

  <items>
    <rdf:Seq>
      
        <rdf:li rdf:resource="http://valentinewebsystems.se/en/e-commerce/safe-e-commerce"/>
      
      
        <rdf:li rdf:resource="http://valentinewebsystems.se/en/blog/2011/plone-conference-with-django-and-pyramid"/>
      
      
        <rdf:li rdf:resource="http://valentinewebsystems.se/en/blog/2011/sipri-uppgradera-och-sakra-upp-var-plonesajt-en"/>
      
      
        <rdf:li rdf:resource="http://valentinewebsystems.se/en/blog/2011/incf-gav-oss-en-utmaning"/>
      
      
        <rdf:li rdf:resource="http://valentinewebsystems.se/en"/>
      
      
        <rdf:li rdf:resource="http://valentinewebsystems.se/en/blog"/>
      
      
        <rdf:li rdf:resource="http://valentinewebsystems.se/en/blog/so-many-good-speaker-at-the-plone-conference-2007"/>
      
      
        <rdf:li rdf:resource="http://valentinewebsystems.se/en/blog/lovely-remotetask-available-for-zope-2-9-2.10"/>
      
      
        <rdf:li rdf:resource="http://valentinewebsystems.se/en/blog/valentine-web-system-a-fresh-start"/>
      
      
        <rdf:li rdf:resource="http://valentinewebsystems.se/en/blog/indexing-in-plone-got-twice-as-fast"/>
      
      
        <rdf:li rdf:resource="http://valentinewebsystems.se/en/blog/proof-of-concept-enabling-ssi-on-plone-3-portlets"/>
      
      
        <rdf:li rdf:resource="http://valentinewebsystems.se/en/blog/viewlets-in-grok"/>
      
      
        <rdf:li rdf:resource="http://valentinewebsystems.se/en/blog/plone-repoze-and-buildout"/>
      
      
        <rdf:li rdf:resource="http://valentinewebsystems.se/en/blog/the-shoemakers-kids-has-got-new-shoes-2013-plone-3.2-with-a-blog"/>
      
      
        <rdf:li rdf:resource="http://valentinewebsystems.se/en/blog/working-at-valentine-web-systems"/>
      
    </rdf:Seq>
  </items>

</channel>


  <item rdf:about="http://valentinewebsystems.se/en/e-commerce/safe-e-commerce">
    <title>Do you want safe e-commerce?</title>
    <link>http://valentinewebsystems.se/en/e-commerce/safe-e-commerce</link>
    <description>What is safe e-commerce to you? Is it safe storage of card and password information, an honest deal or high security online? How do you know that's what you get?</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h2>Safe e-commerce</h2>
<p>We define safe e-commerce as "a digital financial transaction where the sender and recipient both can feel safe". This means that the shop knows that the vital client information they handle can't fall into the wrong hands through unauthorised access to computer systems. Moreover, the end client can feel safe in the fact that the shop handles the information with the highest level of security possible.</p>
<h2>Big systems built on sandmark</h2>
<p>The popular and big systems Magento and osCommerce are built on the sandmark PHP. Independent of how skilled the programmers are, and how big the systems are, it is impossible to disregard the fact that PHP is the language that has the most security gaps. Google built everything based on solid grounds, and for the exact same reason we use Python.</p>
<h2>We create safe solutions based on safe systems</h2>
<p>In order to guarantee safe e-commerce solutions we work with Plone and Python. That makes it possible for us to avoid the security risks connected to other systems, and to focus on developing nice and profitable web shops that fit our clients' needs. We build solutions for the future and our goal is to always be one step ahead with security.</p>
<h3>Do you want to know more?</h3>
<p>Contact Sasha Vinčić for more information.</p>
<p><a href="skype:svincic?call"><img alt="My status" height="60" src="http://mystatus.skype.com/balloon/svincic" width="150" /></a></p>
<p>or <a href="http://valentinewebsystems.se/en/e-commerce/contact-info">fill in the online form</a></p>
<p>Phone: +46 708 840 660</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Sasha Vinčić</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>ecommerce</dc:subject>
    
    <dc:date>2011-02-02T22:50:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://valentinewebsystems.se/en/blog/2011/plone-conference-with-django-and-pyramid">
    <title>Plone conference with Django and Pyramid</title>
    <link>http://valentinewebsystems.se/en/blog/2011/plone-conference-with-django-and-pyramid</link>
    <description>This year the Plone conference will be held in San Francisco and there are only 400 tickets available so make sure you book your ticket now! This year the conference will deal with related technology track, like Pyramid and Django.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h2>Plone – CMS for web</h2>
<p>Plone was released nine years ago, and it was the most secure, beautiful NoSQL CMS and the only one available to that date. Today it is still beautiful, fast and the most secure web CMS. It is going to be very interesting to hear about the plans for Plone, with exciting elements such as Deco and Diazo.</p>
<h2>Pyramid – Django</h2>
<p>Many Plone developers are using the Pyramid/Django frameworks to create advanced products online; this year there will be a related technology track and I heard that Daniel Greenfeld will talk about Django. Paul Evert is also giving a lecture on Pyramid for humans.</p>
<h2>Multilingual sites</h2>
<p>If accepted, I for one will give a talk about managing <a href="http://valentinewebsystems.se/en/blog/2011/multilingual-and-high-security-plone-conference-2009" class="internal-link">multilingual sites with caveats and tips</a>. It is a non-technical talk which I also gave in 2009 and 2010 which presents use cases from multilingual sites and possible solutions to them. If you have any tips to improve the talk, add a comment or send an <a class="mail-link" href="mailto:sasha.vincic@valentinewebsystems.se?subject=Plone conference with Django and Pyramid">email to me</a>.</p>
<p><iframe frameborder="0" height="326" src="http://player.vimeo.com/video/26811247?title=0&byline=0&portrait=0" width="580"></iframe></p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Sasha Vinčić</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>conference</dc:subject>
    
    
      <dc:subject>multilingual</dc:subject>
    
    
      <dc:subject>plone</dc:subject>
    
    <dc:date>2011-07-31T21:55:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://valentinewebsystems.se/en/blog/2011/sipri-uppgradera-och-sakra-upp-var-plonesajt-en">
    <title>Sipri – upgrade and secure our Plone site</title>
    <link>http://valentinewebsystems.se/en/blog/2011/sipri-uppgradera-och-sakra-upp-var-plonesajt-en</link>
    <description>Due to unfortunate circumstances Sipri lost their Plone competence and they needed help fast to upgrade and get their existing site in order. This especially as it had come a couple of security patches to Plone.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h2>Upgrade to Plone 4.1</h2>
<p>We would like to thank Sipri for entrusting their confidence in us to secure and upgrade their website to Plone 4.1. We had just begin to find our feet after <span class="internal-link">upgrading another site to Plone 4.1,</span> so we felt quite confident in being able to finish the task in one week. See below what the client thought and read more about <a class="internal-link" href="http://valentinewebsystems.se/sv/kundcase/sipri">Valentine and Sipri</a>(SV).</p>
<p><span class="discreet"><i>Dear Sasha and Pawel,<br /><br />It seems that everything works fine now and the website is much faster than ever before.<br />Of course there will always be one or two things that need to be corrected.  <br /><br />Everything went very smoothly and I really appreciate the good work both of you did for us.<br />I hope in the future you will also be able to assist us with our website work.<br /><br />Have a well deserved vacation.<br />Best regards,<br />Gerd<br />. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />Gerd Hagmeyer-Gaverus<br />Director<br />Facts Databases and Early Warning  Programme<br />Director<br />Information Technology Department<br /><br />STOCKHOLM INTERNATIONAL <br />PEACE RESEARCH INSTITUTE</i></span></p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Sasha Vinčić</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>security</dc:subject>
    
    
      <dc:subject>sipri</dc:subject>
    
    
      <dc:subject>plone</dc:subject>
    
    <dc:date>2011-08-18T19:40:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://valentinewebsystems.se/en/blog/2011/incf-gav-oss-en-utmaning">
    <title>INCF: Upgrade our site to Plone 4.1 in one week</title>
    <link>http://valentinewebsystems.se/en/blog/2011/incf-gav-oss-en-utmaning</link>
    <description>INCF International Neuroinformatics Coordinating Facility needed a new Plone provider. They didn't just take our word for it but straight away gave us the challenge to upgrade their site to Plone 4.1. We had never seen their site before, but we accepted the challenge.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3>Upgrade to Plone 4.1</h3>
<p>That was about all they said to us during our first meeting, and they finished by saying that we have 40 hours to do it. They wanted us to take their Plone 3 site which we had never touched and <a class="internal-link" href="http://valentinewebsystems.se/sv/kundcase/incf/blog/vi-leverar-plonetjanster-till-incf">uppgrade it to Plone 4.1 in one week</a>.(Swedish) From our experience we knew that this would be a very difficult challenge to pull off.  They said: Surprise us!</p>
<h3>We accepted the challenge</h3>
<p>We didn't, however, need to start from the beginning. They already had a buildout with an upgrade to Plone 4 which they had already started. In the end we managed to surpass both our and their expectations with flying colours. We had a working Plone 4.1 site up and running after one week!</p>
<h2>We deliver Plone services to INCF</h2>
<p><a class="internal-link" href="http://valentinewebsystems.se/sv/kundcase/incf">INCF were satisfied</a>(Swedish) and decided to continue with our collaboration. We want to thank INCF for their confidence, and to also take the opportunity to thank Metamatrix for letting us be a subcontractor of Plone services.</p>
<h3>Do you need a website provider?</h3>
<p>Do you need an enthusiastic, knowledgeable and reliable <a class="internal-link" href="http://valentinewebsystems.com/en/plone/we-build-websites">website provider</a> and <a class="internal-link" href="http://valentinewebsystems.com/en/e-commerce">e-commerce provider</a> who can follow your development long term? Contact <a class="mail-link" href="mailto:office@valentinewebsystems.com?subject=Vi%20s%C3%B6ker%20en%20bra%20hemsideleverant%C3%B6r">Valentine Web Systems for a quotation</a>.</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Sasha Vinčić</dc:creator>
    <dc:rights></dc:rights>
    <dc:date>2011-08-18T23:00:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://valentinewebsystems.se/en">
    <title>Valentine Web Systems</title>
    <link>http://valentinewebsystems.se/en</link>
    <description>English content from Valentine Web Systems</description>
    
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>admin</dc:creator>
    <dc:rights></dc:rights>
    <dc:date>2011-08-18T21:40:02Z</dc:date>
    <dc:type>Folder</dc:type>
  </item>


  <item rdf:about="http://valentinewebsystems.se/en/blog">
    <title>Blog</title>
    <link>http://valentinewebsystems.se/en/blog</link>
    <description></description>
    
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>admin</dc:creator>
    <dc:rights></dc:rights>
    <dc:date>2011-07-29T13:30:41Z</dc:date>
    <dc:type>Folder</dc:type>
  </item>


  <item rdf:about="http://valentinewebsystems.se/en/blog/so-many-good-speaker-at-the-plone-conference-2007">
    <title>So many good speakers at the Plone Conference 2007 and so little time</title>
    <link>http://valentinewebsystems.se/en/blog/so-many-good-speaker-at-the-plone-conference-2007</link>
    <description></description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p><a href="http://plone.org/events/conferences/2007-naples"><img class="image-right" src="http://valentinewebsystems.se/images/logo-plone-conference.jpg/image_mini" alt="" /></a>Time for the annual Plone Conference and I must say I am very happy to see how the preparations are done. Looks like we will have a great conference and probably the largest one. Two days before the trip I looked through the <a href="http://plone.org/events/conferences/2007-naples/agenda/agenda">agenda</a> and as always it's hard to choose. First day we have Joel Burton's <em>Building  a humane CMS for Plone: updated tutorial</em> and Martin Aspeli's <em>Extending  and Customising Plone 3</em> that are colliding. I am really interested to hear what Alexander Limi has learned at Google, so <em>Simple and  effective techniques for better usability</em> is booked. If I choose Joel's talk I'll probably visit Geir Bækholt's <em>Portlets  in Plone 3</em>. On the second day I can recommend the talk <a href="http://plone.org/events/conferences/2007-naples/speakers-1/sessions/community-and-foundation-plones-past-present-future">about the foundation by Paul Everitt</a> but I am also very interested in Duco Dokter's <em>Plone for the enterprise market: technical musing on caching, Clustering and Single Sign-On</em> since this is the knowledge we need for big sites with Plone.</p>
<p>I'll probably end up changing my mind several times during the days and one or two regrets missing some talks but I hope it will be a nice time like all other conferences and a chance to meet friends.<br /><br />Oh one more thing don't forget <a href="http://plone.org/foundation/meetings/membership/2007/nominations/nomination-directions">board nominations</a> if you know anyone that should be on the board, even your self. Last day tomorrow Monday.<br /><br />See you at the conference.</p>
<p>/Sasha</p>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Sasha Vinčić</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>plone</dc:subject>
    
    <dc:date>2007-10-07T14:33:45Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://valentinewebsystems.se/en/blog/lovely-remotetask-available-for-zope-2-9-2.10">
    <title>lovely.remotetask available for Zope 2.9/2.10</title>
    <link>http://valentinewebsystems.se/en/blog/lovely-remotetask-available-for-zope-2-9-2.10</link>
    <description></description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p>lovely.remotetask is a zope3 package for running asynchronous tasks. A service is running as a separate thread (not using any of zope's own threads). You define a class that performs a task. The task can be executed by adding it to the service (which adds it to its queue). It can look like this:</p>

<pre>   &gt;&gt;&gt; service = getUtility(ITaskService, name='LongRunningJob')<br />   &gt;&gt;&gt; service.add(u'exampletask', 'input to the task')</pre>

<p>The service will execute the task as soon as the other tasks in the queue are completed. The service and the task are registered as named utilities in zcml.</p>
<p>
lovely.remotetask is ported to Zope 2.9 and works on 2.10 as well. It depends on zc.queue which runs on 2.9/2.10 without modification. The code is found in <a href="http://svn.zope.org/lovely.remotetask/branches/port-for-zope29/">zope svn</a></p>

<p>The zmi (managing services and tasks) is not ported, but there is an example in svn that tells how to do it programmatically. Removing tasks can already be done in zmi as the utilities are added to the utilities folder in the site root.</p>

<p><a href="http://headnet.dk/">Headnet</a> sponsored this work.</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>terlegard</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>zope</dc:subject>
    
    
      <dc:subject>plone</dc:subject>
    
    <dc:date>2007-10-08T15:20:17Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://valentinewebsystems.se/en/blog/valentine-web-system-a-fresh-start">
    <title>Valentine Web Systems - a fresh start</title>
    <link>http://valentinewebsystems.se/en/blog/valentine-web-system-a-fresh-start</link>
    <description></description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<div><br />Around two years ago <a href="http://www.lovelysystems.com/">Lovely Systems</a> was founded. Jodok, Manfred,Michael and I shaked hands at the Plone conference in Vienna. When we founded Lovely Systems we had two companies one in Austria and one in Sweden, Lovely Systems Sweden. <br /><br />We have seen a great success story been developed in Austria. It is unbelievable how great Zope is and what the guys in Austria do with it. I really wish I could have been there with them, but due personal reasons I can't and to not hold them back in their success we have decided that lovely sweden will change its name. I really wish them good luck and look forward working with them in the future. <br /><br />From now on I am Mr Valentine working at Valentine Web Systems.<br /><br />/Sasha Vincic<br /><br /></div>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Sasha Vinčić</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>zope</dc:subject>
    
    
      <dc:subject>lovely</dc:subject>
    
    
      <dc:subject>plone</dc:subject>
    
    
      <dc:subject>valentine</dc:subject>
    
    <dc:date>2007-07-18T21:19:45Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://valentinewebsystems.se/en/blog/indexing-in-plone-got-twice-as-fast">
    <title>Indexing in Plone got twice as fast</title>
    <link>http://valentinewebsystems.se/en/blog/indexing-in-plone-got-twice-as-fast</link>
    <description></description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p>First day of <a href="http://www.openplans.org/projects/plone-performance-sprint-2007">Perfomance sprint in Copenhagen</a> has passed and it really feels like we all have gotten productive from the start. 10 of us are seating at Symbion where Headnet is located and we have two remote sprinters.</p>
<p><br />Me and and Matt Hamilton started to work on improving the speed of cataloging while you move/rename a tree of objects. Matt had already an idea about using <a href="http://lists.plone.org/pipermail/sprints/2007-October/000326.html">md5 hash on ZCTextIndex</a> which in a quick test gave 30% speed improvement when you edit a document but don't change the body. But when we renamed objects we didn't get this improvement because the object got unindexed and then indexed on the new path so we tried do some magic in ObjectWillBeMovedEvent which would move the index in catalog for this object to the new path instead of unindexing and then get reindexed on ObjectMovedEvent instead of clean index. This way we could benefit from our speed improvement with md5 since the body isn't changed.</p>
<p><br />This was quickly done and the profiling after this indicated that object_provides indexing is taking way too long. We found out that the calls to zope.component.interface.interfaceToName was to be blamed for this. We tried some simple caching on it with plone.memoize and yeah! We slashed the indexing time by half on rename on a site with 300 random content objects! We let Martijn Pieters take a look at the method and why it was so slow just for an interface name. He found out that Plone really shouldn't use this for object_provides since it was there for a specific use case (I hope Martijn can comment on which) .</p>
<p><br />Martijn commited the fix, so current plone trunk has an indexing that is twice as fast as yesterday. This commit does not include the magic on ObjectWillBeMovedEvent and md5 so expect more speedups :)</p>
<p><br />NB! This fix is for trunk (plone 3.x) but me and others have the object_provides index in older Plones so please check<a href="http://dev.plone.org/plone/changeset/17779"> the diff</a> (<a href="http://dev.plone.org/plone/changeset/17778">see also</a>) and fix your indexes to get some speed.</p>
<p><br />Thanks to Nate at Jazkarta for sponsoring, we got a nice sushi delux meal for dinner yesterday.</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Sasha Vinčić</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>zope</dc:subject>
    
    
      <dc:subject>plone</dc:subject>
    
    <dc:date>2007-11-02T09:43:29Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://valentinewebsystems.se/en/blog/proof-of-concept-enabling-ssi-on-plone-3-portlets">
    <title>Proof of concept - enabling SSI on Plone 3 portlets</title>
    <link>http://valentinewebsystems.se/en/blog/proof-of-concept-enabling-ssi-on-plone-3-portlets</link>
    <description></description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Snowsprint 2008 is over for this year and many thanks to Lovely Systems and all participants.</p>
<p>
Since Lovely Systems has deployed some fast sites I was eager to see if
I could reuse some of it with Plone. One of the products was <a href="http://svn.zope.org/lovely.remoteinclude/">lovely.remoteinclude</a> which enables viewlets to be accessed through own unique urls and therefore cached separately. With nginx you can then use <a href="http://en.wikipedia.org/wiki/Server_Side_Includes">SSI</a>
(server side include) to assemble the page instead of doing it all in
Plone. The lovely.remoteinclude hooks up adapters for all
IIncludableViews if they send the event
zope.contentprovider.interfaces.IBeforeUpdateEvent. The adapter then
checks if the view is called from within a page or directly. If it is
called within a page the render method is changed so it renders the url
to the view, and when called directly, no changes are made.</p>
<p>
My task was to try to make Plone portlets accessible through urls. This
was little bit harder then just marking the PortletManager and
PortletRender with IIncludableView since they where not normal viewlets
or viewlet mangers and there was no acquisition in portlets. Anyway
after some pair programming with Tom Gross we managed to create a
package <a href="https://svn.valentinewebsystems.se/public/valentine.remoteinclude/">valentine.remoteinclude</a>
(we didn't dare to name it plone.remoteinclude). This package is a
proof of concept that lovely.remoteinclude can be used on Zope2 and
Plone. It will provide urls for portlets that are available on the
plone root. While we were learning the plone portlet machinery we found
the namespace ++contextportlets++ which we reused to generate urls for
our portlets. We also added a namespace for portlets since the
++viewlet++ didn't work for plone portlets. An url to a default
calendar portlet will look like:</p>
<pre>&lt;!--#include virtual="/++contextportlets++plone.rightcolumn/++portlet++calendar" --&gt;</pre>
<p>
Together with Whit Morriss and help from Tim Terlegård(who made lovely.remoteinclude work with <a class="external-link" href="http://grok.zope.org/">Grok</a> viewlets) we set up a <a href="http://anacrusis.googlecode.com/">buildout</a>
that will build a nginx and a varnish prepared for SSI and
lovely.remoteinclude. The templates were made from a configuration
provided by Lovely Systems. With this buildout and the
valentine.remoteinclude enabled on a plone trunk builout we where
enable to render a normal plone page where nginx assembled the calendar
portlet with the rest of the page.</p>
<p>Tom and I couldn't figure out how to get the information from a
portlet from which context the "mapping" (portlet storage) and then the
portlet was fetched we where not able to generate urls for context
specific portlets other then the root. This information seems to be
hidden by the PortletFetcher in Plone. Ideas on how this could be
solved are welcome.</p>
<p>With your help I think we can create a good SSI solution for Plone
which would enable us to include structure and content in the page from
different servers and have it assembled before sent to the user. This
would be one step in the direction of using the right tool for the job
and not put everything in Plone.</p>
<p align="right">Technorati Tags: <a class="performancingtags" href="http://technorati.com/tag/plone" rel="tag">plone</a>, <a class="performancingtags" href="http://technorati.com/tag/zope" rel="tag">zope</a>, <a class="performancingtags" href="http://technorati.com/tag/nginx" rel="tag">nginx</a>, <a class="performancingtags" href="http://technorati.com/tag/ssi" rel="tag">ssi</a>, <a class="performancingtags" href="http://technorati.com/tag/snowsprint" rel="tag">snowsprint</a></p>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Sasha Vinčić</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>cache</dc:subject>
    
    
      <dc:subject>ssi</dc:subject>
    
    
      <dc:subject>zope</dc:subject>
    
    
      <dc:subject>lovely</dc:subject>
    
    
      <dc:subject>plone</dc:subject>
    
    
      <dc:subject>snowsprint</dc:subject>
    
    <dc:date>2008-01-30T23:39:21Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://valentinewebsystems.se/en/blog/viewlets-in-grok">
    <title>Viewlets in Grok</title>
    <link>http://valentinewebsystems.se/en/blog/viewlets-in-grok</link>
    <description></description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>I had a great time at the snow sprint. I paired with Martijn Faasen and Robert Marianski and we implemented viewlets for Grok. It's nearly finished. It is working, but it needs a few more tests before it will be merged to trunk.</p>

<p>This is what your viewlet code could look like:</p>

<pre>
class PortalHeader(grok.ViewletManager):
    grok.name('header')

class Logo(grok.Viewlet):
    grok.viewletmanager(PortalHeader)
    grok.template('logo')

    def update(self):
        self.willBeAvailableInTemplate = 8
</pre>

<p>A template that wants to render the 'header' viewlet would include this:</p>

<pre>&lt;div tal:content="structure provider:header" /&gt;</pre>

<p>I wrote a sample grok application, <a href="https://svn.valentinewebsystems.se/public/grokremoteinclude/">grokremoteinclude</a> , to make sure the grok viewlets were compatible with other zope3 packages dealing with viewlets. It's a buildout, running it will install the grok app, nginx and varnish. Read the README.txt for instructions how to get going. The application uses SSI which allows viewlets to be either cached or retrieved from another server. The same technique can be used in Plone which was <a href="http://valentinewebsystems.se/proof-of-concept-enabling-ssi-on-plone-3-portlets/weblogentry_view">recently reported</a> by Sasha Vincic.</p>

Viewlets in Grok are really nice - no zcml and no macros. The viewlets are in a seperate <a href="http://svn.zope.org/grok/branches/snowsprint-viewlets2">branch</a> if you want to try them out.]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>terlegard</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>grok</dc:subject>
    
    
      <dc:subject>cache</dc:subject>
    
    
      <dc:subject>ssi</dc:subject>
    
    
      <dc:subject>zope</dc:subject>
    
    
      <dc:subject>plone</dc:subject>
    
    
      <dc:subject>snowsprint</dc:subject>
    
    <dc:date>2008-01-31T15:17:10Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://valentinewebsystems.se/en/blog/plone-repoze-and-buildout">
    <title>How to add repoze to your plone buildout</title>
    <link>http://valentinewebsystems.se/en/blog/plone-repoze-and-buildout</link>
    <description></description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>There is no straightforward way to run plone, repoze and buildout yet, atleast not if you want to use a plone/zope version other than the one repoze.plone ships with. <a href="http://dev.plone.org/plone/ticket/7825">Chris McDonough has this ticket</a> assigned to him, so there will hopefully be an official and easy way soon. Until then this is how I got it to work.</p>

<p>
Buildout.cfg:

<pre>
[buildout]
parts = plone repoze zope2 instance addpath
eggs =
find-links = http://dist.repoze.org

[plone]
recipe = plone.recipe.plone

[zope2]
recipe = plone.recipe.zope2install
url = ${plone:zope2-url}

[repoze]
recipe = zc.recipe.egg
eggs =
     PasteScript
     WSGIUtils
     repoze.zope2
     deliverance
     ${plone:eggs}

[instance]
recipe = plone.recipe.zope2instance
zope2-location = ${zope2:location}
user = admin:admin
http-port = 8080
debug-mode = on
verbose-security = on
eggs =
    ${buildout:eggs}
    ${plone:eggs}
products =
    ${plone:products}

[addpath]
recipe = z3c.recipe.runscript
update-script = addpath.py:main
install-script = addpath.py:main
</pre>
</p>

<p>This is not that different from a normal plone buildout. What's new is [repoze] which installs paste, deliverance and repoze eggs and scripts to enable wsgi.</p>

<p>When you want to start the instance you can either start it the old way without enabling repoze or wsgi::
<pre>
  $ bin/instance fg
</pre>

or you can start with repoze and wsgi enabled::
<pre>
  $ bin/paster serve paste.ini
</pre>
</p>

<p>You need do add the paste.ini file to your buildout. The file says where it can find zope.conf, what server should run and what middleware should be in the wsgi pipeline.</p>

<p>Last in buildout.cfg there's an 'addpath' section, which is a little hack to come around the fact that repoze has a dependency on zopelib which is an egg with all of zope2. But here I want to use the version of zope that is officially supported for the current plone version instead of the version that comes with repoze. So addpath runs a script that adds 'parts/instance/lib/python' to the top of the egg listing in bin/paster. The result is that the compiled zope will be used instead of repoze's zopelib.</p>

<p>You can find a buildout with all necessary files in <a href="http://dev.plone.org/collective/browser/experimental.plonerepozebuildout">collective trac</a> or <a href="http://svn.plone.org/svn/collective/experimental.plonerepozebuildout">collective svn</a>.</p>

<p>
To make repoze/wsgi easier with buildout I think we would need to make a repozpe.zope2-like package without the plone and zope dependencies that repoze.zope2 currently has. Then you could pass 'extra_paths = ${zope2:location}/lib/python' to zc.recipe.egg and the compiled zope2 would be found. That would make [addpath] obsolete. This would be a first step to ease the use of repoze in buildout.
</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>terlegard</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>zope</dc:subject>
    
    
      <dc:subject>repoze</dc:subject>
    
    
      <dc:subject>wsgi</dc:subject>
    
    
      <dc:subject>plone</dc:subject>
    
    <dc:date>2008-02-19T14:41:12Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://valentinewebsystems.se/en/blog/the-shoemakers-kids-has-got-new-shoes-2013-plone-3.2-with-a-blog">
    <title>The shoemakers kid has got new shoes – Plone 3.2 with a blog</title>
    <link>http://valentinewebsystems.se/en/blog/the-shoemakers-kids-has-got-new-shoes-2013-plone-3.2-with-a-blog</link>
    <description>Plone, a CMS with the best security history of them all and linguistic management, is now up to proof on our web site linked to a blog. The shoemakers kids has got new shoes – Plone 3.2 with a blog.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p>We´ve spent the last nine years working a lot with web sites like <a class="external-link" href="http://www.eea.europa.eu/sv">EEA – European Environment Agency</a> and <a class="external-link" href="http://www.jeeves.se/sv">Jeeves</a> and we´ve got to learn so many good things when it comes to multilingual web sites. So far we´ve just written in technical English on our web site but from now on we would like to proceed and explain to you all why Plone is the most secure CMS and one of the best multilingual working tools.<br /><br />First of all: Let´s all realize the fact that thousands of happy and satisfied users all over the world all states the same: Plone rules the world! Plone is the most powerful and easy-to-use CMS there is. It´s easy to install, use and extend. Plone lets non-technical people create and maintain information using only a web browser. It´s as easy as 1, 2, 3...<br /><br />Ordinary people and big companies from all over the world has discovered all the great possibilities about Plone. Many of them are more than just rookies. We´re talking about really big guys like Amnesty International, the Government and the Parliament in Brazil, NASA, Nokia and a big number of universities and museums around the world. As we are long time Plone users we do feel honored to be a part of such a noble society.<br /><br />Handling many different languages on a web site or a blog demands capability by the system. There are no written rules about what´s right or wrong. Please take a look at these two web sites and you´ll see what we mean. http://www.eionet.europa.eu/software/design/multilinguality/missingpagedilemma<br />http://www.eionet.europa.eu/software/design/multilinguality/navigation<br /><br />The multilinguality of Plone is very flexible and creates new possibilities for you as a user to handle the cases when it comes to simple interpretations of the whole web site or complex lingual combinations where only some specific parts are interpreted. This means for example navigation that works in every level without bothering the user and interpreted tags that still means the same.<br /><br />In handling big web sites like EEA automatic transportation is used for all material that needs to be interpreted or updated. The stuff is sent for interpretation and after that imported with a simple drag-n-drop funktion. According to our knowledge there are no other system that manage to do that!<br /><br /><a class="external-link" href="http://plone.org">Are you curious about Plone</a> you might surf in to plone.org. All the needed info about Plone and all the latest updating info are to be found there. Are you looking for blogs and comments by Plone users you might as well visit <a class="external-link" href="http://planet.plone.org">planet.plone.org</a>. Twitter is another source for info about Plone. <a class="external-link" href="http://twitter.com/valentineweb">twitter.com/valentineweb</a> is where we share our experiences about Plone. If you´re in to statistics please don´t forget to visit the <a class="external-link" href="http://plonemetrics.blogspot.com">statistic blog about Plone</a>. <br /><br /><img src="http://valentinewebsystems.se/en/images/documented-security-holes/image_preview" alt="Documented security holes" class="image-right" title="Documented security holes" />When it comes to security there are no other system that can beat Plone. Plone had 10 security holes in a statistic comparison where, for example, Wordpress had 162 security holes, Joomla 324 and the language PHP as many as 9869 documented security holes compared to 65 in the language Python that Plone is written in.</p>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Sasha Vinčić</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>security</dc:subject>
    
    
      <dc:subject>multilingual</dc:subject>
    
    
      <dc:subject>plone</dc:subject>
    
    <dc:date>2009-03-29T08:10:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://valentinewebsystems.se/en/blog/working-at-valentine-web-systems">
    <title>Working at Valentine Web Systems</title>
    <link>http://valentinewebsystems.se/en/blog/working-at-valentine-web-systems</link>
    <description>We're always looking for skilled crew members!</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p>Valentine Web Systems, a web development company based in Malmö Sweden, is always on the lookout for new crew members. If you're a skilled programmer looking for new challenges and horizons, this could be your chance.<br /><br />Our job is to build web portals and web based solutions. We use Python as our main programming language and adopt the power of Cloud Computing. The open source system Plone is therefore our prime working tool. <br /><br /><img src="http://valentinewebsystems.se/en/images/tasty-at-valentine/image_mini" alt="Tasty at Valentine" class="image-right noborder" title="Tasty at Valentine" />The team members of Valentine Web Systems all has the privilege of enjoying a big deal of freedom in the job as the customers and the working project always are in our focus. This is how our planning is ruled. To become as efficient as possible in our work, keywords such as SCRUM, agile and pair programming are guiding stars on our heaven. Education is essential to us, which is why we attend international conferences and sprints in order to enrich ourselves with new knowledge about Plone and other interesting web technologies.<br /><br />Are you a skilled Python programmer and also familiar with Plone and Web 2.0? Then that makes you the most wanted person for us.</p>
<p><br /><a href="/en/contact-info">Call or email us asap</a>. You may <a href="mailto:work@valentinewebsystems.se">send us your CV</a> right ahead. Our office is located in Malmö, Sweden. You are more than welcome to work together with us there, but you may also work from your home or anywhere else if you like.</p>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Sasha Vinčić</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>plone</dc:subject>
    
    
      <dc:subject>valentine</dc:subject>
    
    <dc:date>2009-04-09T09:05:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>





</rdf:RDF>

