Commit c7ceee9f authored by Ivan Tyagov's avatar Ivan Tyagov

Add feed reader gadget.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39533 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent eb325553
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <unicode encoding="cdata"><![CDATA[
<html xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal">\n
<head>\n
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\n
<title tal:content="template/getId"/>\n
</head>\n
<body >\n
<table cellpadding="1" cellspacing="1" border="1">\n
<thead>\n
<tr><td rowspan="1" colspan="3" tal:content="template/getId"/></tr>\n
</thead><tbody>\n
\n
\n
<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/init" />\n
\n
<tal:block metal:use-macro="here/KMZuite_CommonTemplate/macros/createKMWebSite" />\n
\n
<tr>\n
<td>openAndWait</td>\n
<td>${base_url}/view</td>\n
<td></td>\n
</tr>\n
\n
<!-- add "Feed Reader" gadget to front-->\n
<tr>\n
<td>openAndWait</td>\n
<td>${base_url}/Zuite_AddGadgetToActivePad?gadget_relative_url=portal_gadgets/erp5_rss</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>storeText</td>\n
<td>transition_message</td>\n
<td>erp5_rss_box_url</td>\n
</tr>\n
<tr>\n
<td>openAndWait</td>\n
<td>${base_url}/Zuite_getGadgetIdByRelativeUrl?knowledge_box_url=${erp5_rss_box_url}</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>storeText</td>\n
<td>transition_message</td>\n
<td>erp5_rss_box_id</td>\n
</tr>\n
<span metal:use-macro="container/Zuite_CommonTemplate/macros/wait_for_activities">Wait for activities</span>\n
<tr>\n
<td>openAndWait</td>\n
<td>${base_url}/view</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>waitForCondition</td>\n
<td>selenium.isTextPresent("Please enter a valid Rss or Atom url in the preference form")</td>\n
<td>10000</td> \n
</tr>\n
<!-- Set an URL of ERP5 so test do not depend on external RSS provider (http://www.lemonde.fr/rss/une.xml) -->\n
  • @Tyagov @romain

    I think we don't do what was in this comment, we do depend on an external RSS provider.

    The term and conditions of lemonde's RSS ( https://www.lemonde.fr/actualite-medias/article/2019/08/12/les-flux-rss-du-monde-fr_5498778_3236.html ) say this is only for personal use, "not professional" use. I don't really know if we fall in this category, but it seems it would be better if we don't use this RSS, and it seems easy to change this test to use a RSS hosted on erp5.com instead, I see we just check that we have "Le Monde.fr".

    What's your opinion on this ?

  • On front page of erp5.com, there's a Latest News RSS : https://www.erp5.com/news/WebSection_viewLatestContentListAsRSS we could use this instead.

  • @xiaowu.zhang @luke please also confirm that since https://www.erp5.com/news/WebSection_viewLatestContentListAsRSS goes through cache, so it seems OK if we have all testnodes hitting this page.

  • it's anyway only one test, so it won't create issues like we had when all testnodes hit cloudooo

  • Please use the public RSS link.

    It has to work, as it is the public entry point for people. If it is not in the CDN cache, this is a bug.

  • Thanks for feedback, I made !1028 (merged) to address this.

  • @xiaowu.zhang @luke please also confirm that since https://www.erp5.com/news/WebSection_viewLatestContentListAsRSS goes through cache,

    No, it does not, it has to be configured on the backend properly, @xiaowu.zhang can you fix it by adding proper headers on the response?

  • We have :

    $ curl -sIXGET https://www.erp5.com/news/WebSection_viewLatestContentListAsRSS
    HTTP/2 200
    age: 1
    content-type: application/rss+xml; charset=utf-8
    date: Mon, 13 Jan 2020 08:33:14 GMT
    server: Caddy
    server: ATS/7.1.6
    server: Zope/(2.13.29, python 2.7.15, linux2) ZServer/1.1
    vary: Accept-Encoding

    So if I understand correctly:

    • server: ATS/7.1.6 is good, it means we go through caching server
    • there's no cache header, so it won't be cached.
    • This is not blocking for !1028 (merged) anyway, so it's should be OK to merge in the next day if no complain
Please register or sign in to reply
<tr>\n
<td>click</td>\n
<td>//div[@id=\'${erp5_rss_box_id}\']/h3/span/a[2]</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>type</td>\n
<td>gadget_preference_${erp5_rss_box_id}_field_my_preferred_rss_feed</td>\n
<td>http://www.lemonde.fr/rss/une.xml</td>\n
</tr>\n
<tr>\n
<td>keyPressAndWait</td>\n
<td>gadget_preference_${erp5_rss_box_id}_field_my_preferred_rss_feed</td>\n
<td>\\13</td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Preference updated.</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>waitForCondition</td>\n
<td>selenium.isTextPresent("Le Monde.fr")</td>\n
<td>10000</td> \n
</tr>\n
<!-- listbox-container gadget-rss-reader-logo-->\n
<tr>\n
<td>waitForCondition</td>\n
<td>selenium.isElementPresent(\'//div[@class="listbox-container"]\')</td>\n
<td>10000</td> \n
</tr>\n
<tr>\n
<td>waitForCondition</td>\n
<td>selenium.isElementPresent(\'//img[@class="gadget-rss-reader-logo"]\')</td>\n
<td>10000</td> \n
</tr>\n
\n
<tal:block metal:use-macro="here/KMZuite_CommonTemplate/macros/deleteKMWebSite" />\n
\n
</tbody></table>\n
</body>\n
</html>\n
\n
]]></unicode> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>testFeedReaderGadget</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
11
\ No newline at end of file
12
\ No newline at end of file
  • @jerome , yes we should use our own hosted RSS feed. At time I introduced "external" one we had no RSS of our own. Thanks

Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment