Forums / Developer / RSS Import Handler: need information

RSS Import Handler: need information

Author Message

Andrey Astakhov

Tuesday 07 October 2008 9:55:10 am

I have to import special rss item tags as object attributes. Unfortunately standard eZ Publish functionality doesn't allow it.

I see such block in site.ini:

#
# Settings for RSS
#
[RSSSettings]
# RSS import handler Extension settings
# Must be placed in <extension directory>/<active extension>/rss/ezrssimporthandler.php
ActiveExtensions[]

Presumably there is a possibility to create own rss import handlers. Does anybody have documentation and/or expirience re this topic?

Łukasz Serwatka

Tuesday 07 October 2008 1:27:54 pm

Hi,

This is used to create your own RSS field definition array:

Basically you need to create a class which implementing rssFieldDefinition public method

Example extension:

// class name is construct as <active_extension> +  'rssimport'
// 'rssimport' suffix must be part of class name
class MyCustomFieldsrssimport
{
    public function rssFieldDefinition()
    {
        return array( 'item' => array( 'elements' => array( 'title',
                                                                    'link',
                                                                    'description',
                                                                    'author',
                                                                    'category',
                                                                    'comments',
                                                                    'guid',
                                                                    'pubDate' ) ),
                              'channel' => array( 'elements' => array( 'title',
                                                                       'link',
                                                                       'description',
                                                                       'copyright',
                                                                       'managingEditor',
                                                                       'webMaster',
                                                                       'pubDate',
                                                                       'lastBuildDate',
                                                                       'category',
                                                                       'generator',
                                                                       'docs',
                                                                       'cloud',
                                                                       'ttl' ) ) );
    }
}

Put that class in

extension/MyCustomFields/rss/MyCustomFieldsrssimport.php

Then enable it in site.ini.append.php as

[RSSSettings] 
ActiveExtensions[]=MyCustomFields

Clear all the cache and go to admin interface, then check available filed definition in RSS import.

Beware of typos, I did not test it with eZ Publish instance.

Personal website -> http://serwatka.net
Blog (about eZ Publish) -> http://serwatka.net/blog

Andrey Astakhov

Wednesday 08 October 2008 3:11:23 am

Thank you, Lukasz.

Is rssFieldDefinition a single metod i could implement? Is it posiible to override import process?

E.g could i insert my own parsing of rss items before rssimport script?

Łukasz Serwatka

Wednesday 08 October 2008 4:09:19 am

That method has to return array with RSS definition (you can include here your custom RSS tags), which you can map later to the content object attributes in RSS import view IIRC. You can not put in that method your RSS parsing code I'm afraid.

Personal website -> http://serwatka.net
Blog (about eZ Publish) -> http://serwatka.net/blog

eZ debug

Timing: Jan 18 2025 11:16:18
Script start
Timing: Jan 18 2025 11:16:18
Module start 'content'
Timing: Jan 18 2025 11:16:19
Module end 'content'
Timing: Jan 18 2025 11:16:19
Script end

Main resources:

Total runtime0.9508 sec
Peak memory usage4,096.0000 KB
Database Queries197

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0070 587.7344180.8281
Module start 'content' 0.00700.8063 768.5625561.4922
Module end 'content' 0.81330.1375 1,330.0547336.7422
Script end 0.9508  1,666.7969 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00400.4217210.0002
Check MTime0.00150.1538210.0001
Mysql Total
Database connection0.00110.113310.0011
Mysqli_queries0.879492.48431970.0045
Looping result0.00220.23281950.0000
Template Total0.913596.120.4568
Template load0.00200.208320.0010
Template processing0.911595.864920.4558
Template load and register function0.00030.028210.0003
states
state_id_array0.00180.190810.0018
state_identifier_array0.00120.124320.0006
Override
Cache load0.00170.1821270.0001
Sytem overhead
Fetch class attribute can translate value0.00090.095530.0003
Fetch class attribute name0.00170.183750.0003
XML
Image XML parsing0.00100.108730.0003
class_abstraction
Instantiating content class attribute0.00000.001560.0000
General
dbfile0.00260.2771290.0001
String conversion0.00000.000530.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
4content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
7content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
3content/datatype/view/ezxmltags/literal.tpl<No override>extension/community/design/standard/templates/content/datatype/view/ezxmltags/literal.tplEdit templateOverride template
2content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 18
 Number of unique templates used: 6

Time used to render debug report: 0.0002 secs