Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Is anyone working on or are there any plans for an iCal parser for Feeds for Drupal 7? It's pretty much a showstopper for me personally from using D7 for my next project.
Comment | File | Size | Author |
---|---|---|---|
#31 | UniqueTargets-1015128-5394952.patch | 1.3 KB | kriskhaira |
#30 | Screen shot 2011-12-23 at 1.44.01 AM.png | 15.42 KB | kriskhaira |
#30 | UniqueTargets-1015128-5381130.patch | 1.31 KB | kriskhaira |
#27 | icalparser-uniqueTarget.png | 84.09 KB | kriskhaira |
Comments
Comment #1
ekes CreditAttribution: ekes commentedThe iCal feed parser will be but upgrade soon... But note it's very closely tied to the date module as well which is still being ported. The rest of the parser doesn't need much change.
Comment #2
A Romka CreditAttribution: A Romka commentedany news on that??
Comment #3
ekes CreditAttribution: ekes commentedIt's in HEAD if you want to experiment. But repeating events in date seem broken the last time I was working on it.
Comment #4
kirkcaraway CreditAttribution: kirkcaraway commentedsubscribing
Comment #5
endiku CreditAttribution: endiku commentedsubscribing
Comment #6
SandraL CreditAttribution: SandraL commentedSubscribe
Comment #7
perandre CreditAttribution: perandre commentedSub!
Comment #8
CheezItMan CreditAttribution: CheezItMan commentedSubscribing
Comment #9
timbrandin CreditAttribution: timbrandin commentedsubscribe
Comment #10
timbrandin CreditAttribution: timbrandin commentedI've created a new project with Aggregator, it's in sandbox right now and it makes it possible to list upcoming events in blocks or views through Aggregator simply by converting iCal to RSS.
You can help improve it or help along getting it in full project mode by reviewing it through here:
http://drupal.org/node/1207208
It's not a extension to Feeds though, if that's what your looking for, but its a solution to the problem
Hope it helps someone.
Comment #11
Gluhm CreditAttribution: Gluhm commentedIs there any progress? I would like to help if I can e.g. testing the ical parser module.
Comment #12
liberatrhttp://drupalcode.org/project/parser_ical.git/tree/refs/heads/master
I get the following notice trying to import something from Google Calendar:
Notice: Undefined index: LOCATION in _parser_ical_parse() (line 68 of /sites/all/modules/parser_ical/parser_ical.dateapi.inc).
Comment #13
Renee S CreditAttribution: Renee S commentedI can confirm the location bug.
Comment #14
Wim LeersSubscribing.
Comment #15
wftl CreditAttribution: wftl commentedI've installed the code from Git for use with Drupal 7. Seems to install and integrate well. I created a feed but when I go to the node, select the Import tab, and click Import Now, I get the following error.
An error has occurred.
Please continue to the error page
An AJAX HTTP error occurred. HTTP Result Code: 500 Debugging information follows. Path: /batch?id=35&op=do StatusText: Internal Server Error ResponseText:
Clicking the link on "error page" takes me back to the node I created to import the feed.
Ideas? Suggestions?
--
Marcel Gagne
Writer and Free Thinker at Large
Comment #16
Andrew_Mallis CreditAttribution: Andrew_Mallis commentedsubscribe,
Comment #17
chrissncco CreditAttribution: chrissncco commentedsubscribe
Comment #18
ekes CreditAttribution: ekes commentedUpdate.
I've moved this up my priority list (hence status too). The (now) 7.x-1.x branch which was just a port of the old 6.x-2.x feeds code is dead-ended. The api's have been changing, and so it makes lots of sense to do:-
The new version (7.x-2.x) branch is a re-write to support both the date module ical parser code, but also iCalcreator which is a much more comprehensive parser. The former will be fine for most people, the later should work better for those growing number of cases where something else was needed.
As of this moment the first code has been committed into the branch. It's really really really in flux, so liable for radical change. Tests passing so far are for date and basic text. With date there are timezone issues, as ever, with the feeds date mapper - I have some patches for that, that pass all the tests so far. There are still issues over granularity (all day events), how that is solved (and I think it can be) depends on which way date goes (it's still in development and discussion in the issue queues).
Roadmap is: repeating events next; patches for mapping proposed; other field support; other component support (iCalcreator and the module might already be working for VTODO and VJOURNAL actually, but it's not in the tests yet).
Additional code welcome just contact me so we can co-ordinate. The easiest is probably writing additional tests, and source field support (with test naturally :)
Comment #19
xlyz CreditAttribution: xlyz commentedsubscribing
Comment #20
ajmartin CreditAttribution: ajmartin commentedsubscribing
Comment #21
bjlewis2 CreditAttribution: bjlewis2 commentedSubscribing
Comment #22
jspayne CreditAttribution: jspayne commentedSubscribing
Comment #23
georgedamonkey CreditAttribution: georgedamonkey commentedsubscribe
Comment #24
bjlewis2 CreditAttribution: bjlewis2 commented@georgedamonkey Stop subscribing and start following. (Use the new follow button instead of writing "subscribe".)
Comment #25
georgedamonkey CreditAttribution: georgedamonkey commentedOh, excellent. Glad to see they added that. Thanks for letting me know!
Comment #26
hampshire CreditAttribution: hampshire commentedAre there supposed to be more source fields than Summary, Description, Date start and Date end in the 7.x-2 version of this module. The options are quite a bit different than what I have in the 6.x version and just wanted to make sure this was supposed to be the case and not because I have done something wrong.
Thanks.
Comment #27
kriskhaira CreditAttribution: kriskhaira commentedHi. What do I use as a unique target? I don't see any source field I can use for this. I'm attaching a screenshot to help explain better.
This might be related to hampshire's question.
Comment #28
kriskhaira CreditAttribution: kriskhaira commentedCan't seem to import nodes using both Date API iCal parser and iCalCreator parser. This is my feed URL:
http://ibew177.org/civicrm/event/ical
Comment #29
kriskhaira CreditAttribution: kriskhaira commentedFalse alarm. Forgot to attach the import to a content type.
Comment #30
kriskhaira CreditAttribution: kriskhaira commentedMy feed items import fine, but everytime the import happens, I get duplicate items.
Could you take a look at this patch and see what my code is missing? I added URL and GUID under the $sources array and set them up as unique targets (screenshot) but duplicate items still import. What did I do wrong?
Comment #31
kriskhaira CreditAttribution: kriskhaira commentedFixed it! Had to change GUID to UID, which is used in iCal feeds. Correct patch attached.
(Thanks to ekes for being very helpful on IRC)
Comment #32
ekes CreditAttribution: ekes commentedThanks. I've added tests and committed this.
Comment #33
Justin Burns CreditAttribution: Justin Burns commentedEkes - Any update on the status of this module? I'm not just trying to nag you - I'm a dev, and looking to contribute some effort porting/stabilizing one or more of the modules we're using on our site (http://olymega.org). I've written parsers for the iCal format at my day job, and done some trivial D7 porting, so I thought this might be a good fit. I'm curious what issues are standing in the way of a "recommended" D7 version, in your opinion. Thanks! You're welcome to get ahold of me directly: justinb(at)$oursite
Comment #34
ekes CreditAttribution: ekes commentedjustinb26 cool if you can help.
The iCalcreator based parser is actually working quite well, and importing everything that the D6 version is... but for the various complications over the actual date import, primarily timezones, or timesettings for the fields it is mapping to. There are notes about what is working, and not, in the test files.
The date module in D7 has now stabilized on what is a developed version of the date class that was developed for D6 feeds (and is still in the D7 feeds module - it's not developed further in feeds, just in the date module). It's this direction to look in to map the dates correctly I believe.
Comment #35
mgifford@ekes what needs to happen to get this to a D7 dev release? Also, hoping someone runs this through Coder. It's a great time to ensure the code is up to standards.
Comment #36
aglobalwander_ CreditAttribution: aglobalwander_ commentedNote: I changed the issue task thinking it was just for the reply and don't know how to change it back. Sorry about that.
I was trying to get the Ical parser to work and was also getting the HTTP error. I really wanted to use this feature and was trying to think of a work around. I am posting this quick solution as it met my needs and maybe somebody can get some use out of it. Using a current Drupal 6 install I imported the ICal feed and then created an View with CSV export. I am importing this feed into my Drupal 7 using the node processor. I know it is not an elegant solution but thought I might share just in case somebody was trying to get Ical feeds into D7. Hope it is o.k. to post this temporary solution here.
Comment #37
Les LimReverting issue status.
Comment #38
ehowland CreditAttribution: ehowland commentedI am trying, unfortunately not yet successfully, to get the 7.x branch working.
Here is what I have done so far. I am thinking of this as an outline for documentation.
Got the drupal 7 head for parse_ical from the git repository commit cbc5d99d9
Put the iCalcreator library 2.12 (http://kigkonsult.se/iCalcreator/#.T6nM_7_L4y4) in sites/all/libraries
Of course I have both date and feeds installed and enabled.
Got the feeds patch for using unique IDs (Is it necessary?)
http://drupal.org/node/661606#comment-5921904
Got the feeds patch for unsupported operand types
http://drupal.org/node/1213472#comment-5806320
Create a node type meeting with dates
Create a feed:
Now I go to example.com/import and bring up the import which brings up a meeting node edit screen with the feed address at the top.
Then add the feed address for a Google calendar to the top of the node, set some other node defaults (like a taxonomy term on what I hope will be set on the new nodes for the import).
After saving the node I then get:
If I go to the new node
The Import tab status says:
Go to import tab status is
If I then use the import button on that page, I get a drupal_set_message
But under log I see:
And under Delete Items I see
Before I maped uid to guid I saw one node created. I figured that it was failing on the Unique Target. When I deleted it, it did not reappear.
My questions are:
Thanks for any help you can provide.
Comment #39
jasonawant@scottosan45,
Clever work around you've created! Could you list the fields you used in the view export? How are you able to export parts of repeating date field?
Or, if it's more convenient, could you attach a file containing your exported view.
Thanks, Jason.
Comment #40
bcobin CreditAttribution: bcobin commentedI'm getting:
Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /sites/all/modules/parser_ical/includes/ParserIcal.inc on line 31, which is
$sources = $this::$sources;
.A search for the error message suggests it has something to do with the double colon operator.
Holy canolli - is there really no working solution for iCal parsing in D7? Wow... thanks...
Comment #41
lsolesen CreditAttribution: lsolesen commented@bcobin --> you should create a new issue for this.
Comment #42
bcobin CreditAttribution: bcobin commentedThanks for the quick response, @lsolesen - Done.
http://drupal.org/node/1619754
Would be great to get this working... thanks much!
Comment #43
janis_lv CreditAttribution: janis_lv commentedsubscribing
Comment #44
MrPeanut CreditAttribution: MrPeanut commented@janis_lv — You can now just press the Follow button at the top of each issue.
Comment #45
mobcdi CreditAttribution: mobcdi commentedFor those of us not familar with git but still in need of iCal parsing in D7 here is what I did until a module is available,
Non Git way of getting iCal Parser for D7
1: Download the source as a .zip or .tar.gz from https://github.com/sdague/parser_ical/downloads
2: Extract the contents to a folder cause you need to package it as a module for D7
3: Create a new folder "sdague" to act as a container for the module
4: Copy the files (parser_ical.info,parser_ical.module) and the folders so your structure looks like the following (I included all folders and files available in the source so your list might look different if the code changes in the meantime
5: zip the folder sdague and install into D7 as a module
6: You also need to provide the php class libraries for icalcreator in a folder called libraries in 'sites/all/libraries/iCalcreator/iCalcreator.class.php' which are available from http://kigkonsult.se/downloads/index.php#icalcreator
7: After that all you need to do is configure feeds module to use a html feed as a source, run it through the iCal parser and create the nodes using the mappings you want.
Notes: feeds tamper doesn't appear to work for icalparser created nodes so you are restricted to direct mappings of source -> destination fields but it worked for me in creating the nodes which is what I was after
Comment #46
robin.ingelbrecht CreditAttribution: robin.ingelbrecht commented#45 worked for me but when i18n is enabled I get the following error:
PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 'A more complete description calendar component than that provided by the \"sum' at line 1: SELECT s.lid, t.translation, s.version FROM {locales_source} s LEFT JOIN {locales_target} t ON s.lid = t.lid AND t.language = :language WHERE s.source = :source_name, :source_description, :source_parser_ical_handler AND s.context = :context AND s.textgroup = 'default'; Array ( [:language] => nl [:context] => [:source_name] => Description [:source_description] => A more complete description calendar component than that provided by the "summary" property. [:source_parser_ical_handler] => formatText ) in locale() (regel 684 van /modules/locale/locale.module).
This can be solved by changing line 34 in file includes/ParserIcal.inc to:
Comment #47
gittosj CreditAttribution: gittosj commented#45 worked for me too - can import perfectly although some care needed setting up the mappings - remember you must have a 'unique' mapping uid-->guid works well and I had to add a location field onto my event content-type.
Hitting just one small bug which is that I've ticked 'periodic update' under the feed importer settings and cron / drush is now bailing out with the error: Error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /sites/all/modules/sdague/includes/ParserIcal.inc, line 31 which I believe is down to a php syntax issue on class / instances - see here:
http://stackoverflow.com/questions/4995540/unexpected-t-paamayim-nekudot...
Although I'm running php 5.3.3 so confused - my php skills not advanced enough to offer a patch - anyone any idea?
Comment #48
lsolesen CreditAttribution: lsolesen commented@gittosj look at #1619754: Unsupported operand types in /sites/all/modules/parser_ical/includes/ParserIcal.inc on line 38
@ekes any chance of moving some of this code into parser_ical 7.x-1.x branch soon?
Comment #49
gittosj CreditAttribution: gittosj commentedThanks for the pointer @Isolesen - unfortunately still borking see here: http://drupal.org/node/1619754#comment-6609606
Comment #50
mobcdi CreditAttribution: mobcdi commentedAs a matter of interest is anyone else having their imported content split with extra spaces between words that didn't exist in the source?
Comment #51
gittosj CreditAttribution: gittosj commented@mobcdi - mine was working fine although having updated to drupal 7.16, I can't enable the module - parser_ical is incompatible with the Drupal version...
Anyone able to look at this?
Comment #52
adam3145 CreditAttribution: adam3145 commentedI have setup the iCal Parser but get this error
An AJAX HTTP error occurred. HTTP Result Code: 200 Debugging information follows. Path: /batch?id=67&op=do StatusText: OK ResponseText: Fatal error: Method name must be a string in /home/vertical/public_html/sites/all/modules/parser_ical-7.x-2.x/includes/ParserIcal.inc on line 63
Thanks,
Comment #53
sonicthoughts CreditAttribution: sonicthoughts commentedI guess this project is falling off the bandwagon for D7+ unless it is to be seriously maintained. No commits / comments in a few months. wonder if its even worth having this discussion here...
Comment #54
dswier CreditAttribution: dswier commentedSo I'm using the code from #45, and it is mostly working well. I do have one big problem with it however, and that is repeating dates. The parser seems to simply ignore the RRULEs in my ical files. Has anybody else experienced this?
Comment #55
coredumperror CreditAttribution: coredumperror commentedI took the code from the 7.x-2.x branch, heavily tweaked and improved it, and incorporated it into the Date iCal module. If you want to try out my version, check out #1721678: iCal feed parser + iCalcreator-based export. If you have any bugs to report or request/suggestions to be made, please go there, since that issue is where I'll be providing support.
Comment #56
ekes CreditAttribution: ekes commentedcoredumperror: If I understand right, you've made the iCal Parser code from the 7 branch work with the new Date iCal module like it does with the iCalcreator code?
Comment #57
coredumperror CreditAttribution: coredumperror commentedI've copied the code from the Parser iCal 7.x-2.x branch into Date iCal, renamed the classes and such to match, and added new functionality/bug fixes. Date iCal already supports outputting iCal feeds through Views (using iCalcreator), so I figured that it would make sense to consolidate all the iCal-related functionality for Drupal into a single module.
I kept the code organized the same way. I renamed the .inc files in the includes folder, but I didn't move much code between files.
Comment #58
ekes CreditAttribution: ekes commentedOK I see all my code for the iCalcreator version is commited into the 2.x branch there; and I can agree with just focusing on one set of code.
So I'll depreciate this one in favour of that code.